Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Clojure fn和fn*之间有什么区别?_Clojure - Fatal编程技术网

Clojure fn和fn*之间有什么区别?

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显然不起作用。

在Clojure中,fn和fn*之间的区别是什么?当我引用用#宏创建的函数时,我看到了fn*。例如,在REPL中:

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

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

根据
fn*
是创建函数的基本形式,
fn
是在其上构建的宏,用于实现更高级别的功能,如解构。

看,这真是一个难找的东西。谷歌搜索fn显然不起作用。但是DuckDuckGo来营救:)