Может ли кто-нибудь объяснить слияние цитат Clojure простыми словами? - PullRequest
43 голосов
/ 31 декабря 2010

Я бьюсь головой о стену, пытаясь понять некоторые макросы Clojure, которые используют unquote-splice, и я не могу найти какое-либо четкое объяснение того, зачем они нужны. Может ли кто-нибудь объяснить мне это в фиктивных терминах?

1 Ответ

51 голосов
/ 31 декабря 2010

Я не эксперт по Clojure, но, поскольку это по сути Лисп, все должно быть так: unquote-splice - это unquote, которая объединяет список с той позицией, где он используется. Разница выглядит так:

`(1 2 ~(list 3 4))   =>  (1 2 (3 4))
`(1 2 ~@(list 3 4))  =>  (1 2 3 4)

`  == syntax-quote
~  == unquote
~@ == unquote-splice
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...