我有以下接收函数列表的函数:
(defn foo
[fn-list]
(map #(%) fn-list))
我想将此 bar
函数的实例作为参数传递给它。
(defn bar
[x]
(println x))
我的问题是我只有 bar
的参数列表。 Fox 示例,一个简单的列表 ("a""b""c")
。我想创建一个 bar
函数列表,每个函数都有一个参数,即后面集合的一个元素。
有人可以告诉我如何做到这一点吗?谢谢。
注意:出于合理原因,我不能简单地将 foo
替换为 (map bar ("a""b""c"))
。
最佳答案
我不是很清楚你想做什么,但也许你想要这样的东西:
(map #(partial bar %) [1 2 3])
这将创建一系列函数,调用时(使用 0 个参数)将执行与 (bar 1)
、(bar 2)
等等效的操作。
关于collections - 创建函数集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17527138/