Construindo um mapa na função anônima no Clojure
Estou apenas aprendendo o idioma e tenho uma pergunta simples. Por que isso funciona (construções{:key "value"}
):
(#(assoc {} :key %) "value")
Mas isso não acontece:
(#({:key %}) "value")
ArityException Wrong number of args (0) passed to: PersistentArrayMap clojure.lang.AFn.throwArity (AFn.java:429)
No Python, a última sintaxe é perfeitamente válida:
> (lambda v: {'key': v})('value')
{'key': 'value'}
edit: obrigado por ótimas respostas, é evidente que preciso parar de pensar#
como equivalente alambda
em Python.