В 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 и не проводит различия между оценкой переменной и идентично названной функцией.
Это может быть основной вопрос, но, похоже, не хватает информации. Пожалуйста, научите меня.
Спасибо.