在clojure中,如何使用匿名函数literal编写标识函数?

在clojure中,如何使用匿名函数literal编写标识函数?,clojure,anonymous-function,Clojure,Anonymous Function,如何使用clojure编写identity函数 以下代码不起作用: (#(%) 5) 它引发异常,因为它已转换为: ((fn[x] (x)) 5) 问题在于,当使用#()时,函数体用括号括起来。 你知道如何优雅地克服这一点吗?好吧,首先是标识功能 但是你可以用 #(do %) 如果你坚持的话。回答得好。如果知道参数是一个数字,还可以执行#(+%)并保存一个字符:-)

如何使用clojure编写identity函数

以下代码不起作用:

(#(%) 5)
它引发异常,因为它已转换为:

((fn[x] (x)) 5)
问题在于,当使用#()时,函数体用括号括起来。
你知道如何优雅地克服这一点吗?

好吧,首先是
标识功能

但是你可以用

#(do %)

如果你坚持的话。

回答得好。如果知道参数是一个数字,还可以执行#(+%)并保存一个字符:-)