我有以下方法:
(defn area [x y] (* x y))
如何遍历关于参数编号的列表。就像是
(map area [2 5 6 6])
所以它会进行类似(area 2 5)
and的计算(area 6 6)
,也许 vector 不是正确使用的类型。
我有以下方法:
(defn area [x y] (* x y))
如何遍历关于参数编号的列表。就像是
(map area [2 5 6 6])
所以它会进行类似(area 2 5)
and的计算(area 6 6)
,也许 vector 不是正确使用的类型。
您可以partition
按照这里的一些建议使用,但您可能需要考虑以不同的方式排列数据。例如,您可以使用向量的向量:
[[2 5] [6 6]]
然后你可以改变你的area
功能:
(defn area [[x y]] (* x y))
现在你可以用你的一对来调用它:(area [6 6])
并且在你的向量上映射很容易:
(map area [[2 5] [6 6]])
如果由于某种原因您需要area
使用两个参数而不是向量,您可以执行以下操作:
(map #(apply area %) [[2 5] [6 6]])
对我来说,这仍然比使用partition
.
试试这个:
(map #(apply area %) (partition 2 [2 5 6 6]))
map
函数期望的每个参数都需要一个单独的序列参数:
(map [2 6] [5 6])