说我有下面的代码:如何动态查找Clojure函数的元数据?
(defn ^{:graph-title "Function 1"} func-1 [x] (do-something-with x)) (defn get-graph-title [func] (str ((meta func) :graph-title)))
我预计这将返回“功能1”,但它返回零。我想从下面的差异,我不完全理解这源于:
(meta func-1) => {:ns some-ns-info, :name func-1} (meta #'func-1) => {:ns some-ns-info, :name func-1, :graph-title "Function 1"}
有人可以解释这样对我?
或者只是使用当前的定义和做(get-graph-title#'func-1) – 2011-04-08 13:22:52