1
http://clojure.org/metadata元說:「符號和收藏支持元數據」Clojure的,對於一個符號
所以我儘量元數據設置爲一個符號:
=> a
17
=> (def aa ^a 'x)
=> aa
x
=> (meta aa)
nil
如我所料它不工作。
=> (def aa ^a [])
=> (meta aa)
{:tag 17}
這樣做。
這是文檔中的錯誤嗎?如果不是,你能解釋一下嗎?
更新回答Arthur Ulfeldt:所以我理解如下。當我寫
(def aa ^a 'x)
讀者擴展成
(def aa ^a (quote x))
因此元數據是在列表(報價X),而不是在符號。在評估def宏時,這個列表得到了評估,給我們留下了x,並且元數據丟失了。