Функция map принимает переменное количество аргументов. Обязательным первым аргументом является функция, а затем вы можете передать любое количество коллекций. Когда передано более одной коллекции, соответствующий элемент из каждой коллекции будет передан в качестве аргумента функции (например, если вы передадите одну коллекцию, функция получит один аргумент, а если вы передадите три коллекции, она получит три аргумента ).
Что касается vector
, она делает то же самое, что обычно делает функция vector
- делает вектор из своих аргументов. Например, (vector 1 100 1000)
дает [1 100 1000]
. В этом случае его аргументами будут n-е элементы двух коллекций:
Бесконечная последовательность целых чисел, начинающаяся с нуля
Что бы ни было в coll
По сути, это превращает каждый элемент в coll
в вектор, содержащий индекс элемента, за которым следует элемент. Например, если coll
равно [a b c]
, это даст вам ([0 a] [1 b] [2 c])
.