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