我想从vector的向量中获取值,并希望将该值作为参数传递给另一个函数。我想调用其他函数,就像我在vector的向量集合中拥有的vector一样。
例如:
这是演示代码,将解释我的尝试
(defn demo
[arg1 arg2 arg3 arg4 arg5]
(println "====== in Demo=======")
(println arg1 arg2 arg3 arg4 arg5)
)
(def vv [["item1" "item2" "item3" 4] ["item5" "item6" "item7" 80.0] .....])
我想要一个可以遍历vv并获取每个v的值并将其作为参数传递给 demo
的函数 (def somefun
iterate [i vv] demo (get v 0) (get v 1) (get v 2) (get v 3))
;;对于vv中的所有向量都应重复此步骤
答案 0 :(得分:0)
由于功能语言中的迭代通常意味着map
,所以我会这样:
(defn somefun [vv]
(map (partial apply demo) vv)
地图遍历所有向量。 partial
函数将每个v
附加到映射函数。最后,您为(apply demo v)
中的每个v
呼叫vv
。
apply
提取向量并将其元素转换为demo
的参数。