我有这个函数,它将一组函数作为参数:
(defn- main-func
[fn-list]
...)
我通常称之为:
(main-func [f1 f2 ...])
但f1
和f2
都是无参数函数。如何在此调用中包含带参数的函数?
我搜索谷歌但没有成功。感谢
答案 0 :(得分:5)
带参数的函数,例如
(defn foo [w x y z] ...)
可以由包含参数的匿名函数包装,例如
#(foo 1 2 3 4)
答案 1 :(得分:4)
除了A. Webb建议的anon函数之外,你可以使用给定fn的函数partial创建另一个已经设置了一些参数的fn。如果指定了所有参数,它将返回一个你可以调用的没有参数的fn:
(def plus-12 (partial + 1 2))
(plus-12) => 3
(plus-12 3) => 6