我试图理解这个函数是如何工作的,这是comp
的一个实现(来自章节&#34;功能编程&#34;在书Clojure for the Brave and True中):< / p>
(defn two-comp
[f g]
(fn [& args]
(f (apply g args))))
这个想法是它需要两个函数并将它们应用于args。我不明白的是args如何到达匿名函数,因为它们不作为two-comp
的参数输入? two-comp
如何以这种方式使用?
答案 0 :(得分:4)
two-comp
返回一个匿名函数,该函数依次为args
。查看two-comp
的正文:
(fn [& args]
(f (apply g args)))
fn
创建一个函数,该函数定义如下。 fn
的返回值是从two-comp
返回的值。