fn和fn *有什么区别?

时间:2012-09-19 04:15:34

标签: clojure

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

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

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

1 个答案:

答案 0 :(得分:17)

根据this post on google groups fn*是创建函数的原始形式,fn是构建在其上的宏,用于实现更高级别的功能,如解构。