В clojure, как написать функцию идентификации, используя анонимную функцию литерал? - PullRequest
11 голосов
/ 05 февраля 2012

Как можно написать функцию идентификации в clojure, используя литерал анонимной функции (# ()) ?

Следующий код не работает:

(#(%) 5)

Возникает исключение, поскольку оно преобразуется в:

((fn[x] (x)) 5)

Проблема в том, что при использовании # () тело функции заключено в круглые скобки.Есть идеи, как это изящно преодолеть?

1 Ответ

23 голосов
/ 05 февраля 2012

Ну, во-первых, есть функция identity.

Но вы можете использовать

#(do %)

если вы настаиваете.

...