新的clojure,我想知道..我可以将var定义为^:private和^:const?
因此,例如,执行以下操作是否有意义:
(def ^:private ^:const everything 42)
答案 0 :(得分:1)
是的,在任何足够现代的Clojure版本上。
很久以前,元数据关键字没有"#34;汇总"但那是几年前修复的。
^:keyword
reader-macro只是^{:keyword true}
user> (def ^:private ^:const everything 42)
#'user/everything
user> (meta #'everything)
{:const true, :private true, :line 241457, :column 7, :file "*cider-repl api*", :name everything, :ns #namespace[user]}
与:
相同user> (def ^{:private true :const true} everything 42)
#'user/everything
user> (meta #'everything)
{:private true, :const true, :line 241816, :column 7, :file "*cider-repl api*", :name everything, :ns #namespace[user]}