Извините за ужасно смутное название:)
Я новичок в макросах, и мне трудно понять разницу между этими двумя утверждениями:
`(+ 1 2 ~(+ 2 3)) ; => (clojure.core/+ 1 2 5)
'(+ 1 2 ~(+ 2 3)) ; => (+ 1 2 (clojure.core/unquote (+ 2 3)))
Когда я запускаю их без кавычек, они кажутся довольно идентичными, кроме квалификации?
`(+ 1 2 (+ 2 3)) ; => (clojure.core/+ 1 2 (clojure.core/+ 2 3))
'(+ 1 2 (+ 2 3)) ; => (+ 1 2 (+ 2 3))
Так что в основном я смущен "против". Насколько я понимаю, они оба указывают все в списке, поэтому я не уверен, почему отмена цитирования ведет себя по-разному. По сути `ведет себя так, как я ожидал, и` и 'ведут себя.
Спасибо!