Clojure fn和fn*之间有什么区别?
在Clojure中,fn和fn*之间的区别是什么?当我引用用#宏创建的函数时,我看到了fn*。例如,在REPL中:Clojure fn和fn*之间有什么区别?,clojure,Clojure,在Clojure中,fn和fn*之间的区别是什么?当我引用用#宏创建的函数时,我看到了fn*。例如,在REPL中: user=> `#(inc %) (fn* [p1__342__343__auto__] (clojure.core/inc p1__342__343__auto__)) 这只是用于调试目的,以确定函数是由#而不是fn直接创建的吗?根据fn*是创建函数的基本形式,fn是在其上构建的宏,用于实现更高级别的功能,如解构。看,这真是一个难找的东西。谷歌搜索fn显然不起作用。
user=> `#(inc %)
(fn* [p1__342__343__auto__] (clojure.core/inc p1__342__343__auto__))
这只是用于调试目的,以确定函数是由#而不是fn直接创建的吗?根据
fn*
是创建函数的基本形式,fn
是在其上构建的宏,用于实现更高级别的功能,如解构。看,这真是一个难找的东西。谷歌搜索fn显然不起作用。但是DuckDuckGo来营救:)