我有以下方法:
(defn area [x y] (* x y))
Run Code Online (Sandbox Code Playgroud)
如何根据参数编号迭代列表.就像是
(map area [2 5 6 6])
Run Code Online (Sandbox Code Playgroud)
所以它会使计算像(area 2 5)和(area 6 6),也许载体是不是正确的类型使用.
您可以partition像在此处建议的那样使用,但您可能需要考虑以不同方式排列数据.例如,您可以使用向量向量:
[[2 5] [6 6]]
Run Code Online (Sandbox Code Playgroud)
然后你可以将你的area功能改为:
(defn area [[x y]] (* x y))
Run Code Online (Sandbox Code Playgroud)
现在你可以用你的一对来调用它:(area [6 6])并且映射你的向量很容易:
(map area [[2 5] [6 6]])
Run Code Online (Sandbox Code Playgroud)
如果由于某种原因你需要area采用两个参数而不是矢量,你可以这样做:
(map #(apply area %) [[2 5] [6 6]])
Run Code Online (Sandbox Code Playgroud)
对我来说,这仍然比使用更简单partition.