我无法解决变量并使用它。问题似乎微不足道,所以我很可能在阅读教程时错过了它:
(def v 42) ;=> #'user/v
(+ v 1) ;=> 43
(+ (resolve 'v) 1) ;ClassCastException clojure.lang.Var cannot be cast to java.lang.Number
然而这有效:
(defn w [] 4) ;=> #'user/w
(+ (w) 1) ;=> 5
(+ ((resolve 'w)) 1) ;=> 5