En clojure, me gustaría saber cuáles son las diferencias entre los tres a continuación.En Clojure, diferencia entre función, función citada y función de cita nítida
(println (map + '(1 2 3) '(4 5 6)))
(println (map '+ '(1 2 3) '(4 5 6)))
(println (map #'+ '(1 2 3) '(4 5 6)))
Los resultados son
(5 7 9)
(4 5 6)
(5 7 9)
No puedo entender el comportamiento de la segunda.
Creo que el primero y el tercero son los mismos en clojure que es Lisp-1 y no distingue entre evaluar una variable y la función con el mismo nombre.
Esto puede ser una pregunta básica, pero parece que no hay suficiente información. Por favor enséñame.
Gracias.
Como nota adicional, en clojure es idiomático describir secuencias literales con vectores en lugar de listas citadas. –
Oh, ya veo. Gracias, Alex. –