11
我只是「發現」#=
閱讀器宏,從post在Stackoverflow ,它解決了一個問題。這個閱讀器宏有多大可能成爲該語言的官方(記錄)部分的 ?已過時或 改變了行爲?Clojure#=閱讀器宏
#=
閱讀器宏導致以下s表達式由Lisp閱讀器評估(在宏擴展之前)。
我只是「發現」#=
閱讀器宏,從post在Stackoverflow ,它解決了一個問題。這個閱讀器宏有多大可能成爲該語言的官方(記錄)部分的 ?已過時或 改變了行爲?Clojure#=閱讀器宏
#=
閱讀器宏導致以下s表達式由Lisp閱讀器評估(在宏擴展之前)。
當* print-dup * true打印某些內容時,它被核心語言使用,所以我打賭它會留下來。不知道爲什麼它沒有記錄。
user=> (binding [*print-dup* true] (prn {:foo 1 :bar 2}))
#=(clojure.lang.PersistentArrayMap/create {:foo 1, :bar 2})
nil
它沒有記錄,因爲它可能會消失/被別的東西取代。我不會推薦在你的程序中使用它。
謝謝。我也想知道爲什麼沒有記錄。宏在宏展開前評估一個子表達式會很有用。 – Ralph