Clojure # = читательский макрос - PullRequest
12 голосов
/ 21 июня 2011

Я только что "обнаружил" макрос считывателя #= из записи в Stackoverflow, и это решает проблему.Насколько вероятно, что этот читательский макрос станет официальной (задокументированной) частью языка?Как насчет устаревшего или измененного поведения?

Макрос читателя #= заставляет следующее s-выражение быть оцененным читателем Lisp (до расширения макроса).

Ответы [ 2 ]

4 голосов
/ 22 июня 2011

Используется основным языком, когда что-то печатается с * print-dup * true, поэтому я бы поспорил, что оно останетсяНе знаю, почему это не задокументировано.

user=> (binding [*print-dup* true] (prn {:foo 1 :bar 2}))
#=(clojure.lang.PersistentArrayMap/create {:foo 1, :bar 2})
nil
3 голосов
/ 03 февраля 2012

Это не задокументировано, потому что оно может исчезнуть / быть заменено чем-то другим.Я бы не рекомендовал использовать его в своих программах.

...