我有以下函数接收函数列表:
(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"))
。
答案 0 :(得分:5)
我并不完全清楚你想要做什么,但也许你想要这样的东西:
(map #(partial bar %) [1 2 3])
这将创建一系列函数,在调用时(带有0个参数)将相当于(bar 1)
,(bar 2)
等。