11
如何使用anonymous function literal (#())在clojure中编写身份识别功能?在clojure中,如何使用匿名函数文字编写标识函数?
下面的代码不起作用:
(#(%) 5)
它提出了一个例外,因为它被转换为:使用#()时
((fn[x] (x)) 5)
中的问题,该功能身体被括号包围。 任何想法,如何优雅地克服这一点?
如何使用anonymous function literal (#())在clojure中编写身份识别功能?在clojure中,如何使用匿名函数文字编写标识函数?
下面的代码不起作用:
(#(%) 5)
它提出了一个例外,因为它被转换为:使用#()时
((fn[x] (x)) 5)
中的问题,该功能身体被括号包围。 任何想法,如何优雅地克服这一点?
嗯,首先,有identity
函数。
但是你可以使用
#(do %)
如果你坚持。
不错的答案。如果你知道参数是一个数字,你也可以做#(+%)并保存一个字符:-) – mikera 2012-02-05 14:29:21