В clojure, как написать функцию идентификации, используя литерал анонимной функции?

Как написать функцию идентификации в clojure с помощью анонимной функции literal (#())?

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

(#(%) 5)

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

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

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

Ответ 1

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

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

#(do %)

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