gpt4 book ai didi

dictionary - vector 在 map 语句中做什么?

转载 作者:行者123 更新时间:2023-12-01 06:14:26 27 4
gpt4 key购买 nike

在一本 Clojure 书中,我发现了一个带有 3 个参数的 map 函数:

(Map vector (iterate inc 0) coll)

向量在做什么?这个函数为什么接受 3 个参数而不是标准的 2 个?

最佳答案

map 函数接受可变数量的参数。所需的第一个参数是一个函数,然后您可以在其后传递任意数量的集合。当传递多个集合时,每个集合中的相应元素将作为参数传递给函数(例如,如果传递一个集合,函数将接收一个参数,如果传递三个集合,它将接收三个参数).

对于 vector,它做的事情与 vector 函数通常做的一样——从它的参数中创建一个向量。例如,(vector 1 100 1000) 给出 [1 100 1000]。在这种情况下,它的参数将是两个集合的第 n 个元素:

  1. 从零开始的无限整数序列

  2. 无论是在coll

实际上,这会将 coll 中的每个项目转换为一个向量,其中包含项目的索引,后跟项目。所以如果 coll[a b c],例如,它会给你 ([0 a] [1 b] [2 c]) .

关于dictionary - vector 在 map 语句中做什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7735308/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com