vector在map语句中做什么?
在Clojure的一本书中,我发现了一个带有3个参数的映射函数:vector在map语句中做什么?,map,clojure,Map,Clojure,在Clojure的一本书中,我发现了一个带有3个参数的映射函数: (Map vector (iterate inc 0) coll) 向量在做什么?该函数如何接受3个参数而不是标准的2个参数?map函数接受数量可变的参数。所需的第一个参数是一个函数,之后可以传递任意数量的集合。当传递多个集合时,每个集合中的相应元素将作为参数传递给函数(例如,如果传递一个集合,函数将接收一个参数,如果传递三个集合,函数将接收三个参数) 至于vector,它做的事情与vector函数通常做的事情相同——用它的参数
(Map vector (iterate inc 0) coll)
向量在做什么?该函数如何接受3个参数而不是标准的2个参数?map函数接受数量可变的参数。所需的第一个参数是一个函数,之后可以传递任意数量的集合。当传递多个集合时,每个集合中的相应元素将作为参数传递给函数(例如,如果传递一个集合,函数将接收一个参数,如果传递三个集合,函数将接收三个参数) 至于
vector
,它做的事情与vector
函数通常做的事情相同——用它的参数生成一个向量。例如,(向量1100 1000)
给出[1100 1000]
。在本例中,其参数将是两个集合的第n个元素:
coll
coll
中的每个项转换为一个向量,该向量包含该项的索引,后跟该项。因此,如果coll
是[abc]
,例如,它将为您提供([0a][1b][2c])