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