【发布时间】:2010-11-18 10:14:11
【问题描述】:
这是 Rich Hickey 在其中一篇博文中所说的,但我不明白使用 apply 的动机。请帮忙。
Clojure 和 CL 的一个很大区别在于 Clojure 是 Lisp-1,因此不需要 funcall,而 apply 仅用于将函数应用于运行时定义的参数集合。所以,(apply f [i]) 可以写成 (f i)。
另外,他所说的“Clojure 是 Lisp-1”并且不需要 funcall 是什么意思?我从来没有在 CL 中编程过。
谢谢
【问题讨论】:
-
这里是apply函数源代码的要点:gist.github.com/purplejacket/36de7061061ec9c49734