其實我想完全理解Clojure的特別符號用Clojure語言什麼<'a>真的是
(def a 1)
(type a)
;;=>java.lang.Long
(type 'a)
;;=>clojure.lang.Symbol
我知道type
是一個功能,所以它的參數會首先評估,所以我完全理解爲什麼上述工作的代碼這種方式。在流動的代碼,我決定用宏
(defmacro m-type [x] (type x))
(m-type a)
;;==>clojure.lang.Symbol
延遲評估和我很好,與但我不能uderstand是這樣的:
(m-type 'a)
;;=>clojure.lang.Cons
爲什麼類型「a是缺點
用戶誰投票決定關閉「太寬」你能證明你的決定?這有一個具體和簡單的答案 – jozefg
也許有人只讀標題? –