Construyendo un mapa en función anónima en Clojure
Estoy aprendiendo el idioma y tengo una pregunta simple. ¿Por qué funciona esto (construcciones{:key "value"}
):
(#(assoc {} :key %) "value")
Pero esto no:
(#({:key %}) "value")
ArityException Wrong number of args (0) passed to: PersistentArrayMap clojure.lang.AFn.throwArity (AFn.java:429)
En Python, la última sintaxis es perfectamente válida:
> (lambda v: {'key': v})('value')
{'key': 'value'}
editar: gracias por excelentes respuestas, es evidente que necesito dejar de pensar#
como equivalente alambda
en Python