9

在 Clojure 中,fn 和 fn* 有什么区别?当我对使用 # 宏创建的函数进行语法引用时,我看到了 fn*。例如,在 REPL 中:

user=> `#(inc %)   
(fn* [p1__342__343__auto__] (clojure.core/inc p1__342__343__auto__))

这是否只是用于调试目的,以识别该函数是由 # 而不是 fn 直接创建的?

4

1 回答 1

17

根据google groups fn*上的这篇文章,它是创建函数的原始形式,fn是建立在其之上的宏,用于实现更高级别的功能,如解构。

于 2012-09-19T04:35:30.920 回答