В clojure я хотел бы знать, в чем разница между тремя ниже.
(println (map + '(1 2 3) '(4 5 6)))
(println (map '+ '(1 2 3) '(4 5 6)))
(println (map #'+ '(1 2 3) '(4 5 6)))
Результаты:
(5 7 9)
(4 5 6)
(5 7 9)
Я не могу понять поведение второго.
Я чувствую, что первое и третье одно и то же в clojure, то есть в Lisp-1. и не делает различий между вычислением переменной и одноименной функцией.
Это может быть основной вопрос, но, кажется, недостаточно информации. Пожалуйста, научите меня.
Спасибо.