alter-var-root可以用来改变一个clojure var的root binding。那同样的,alter-var-root是否可以用于一个static java方法?如果可以,该怎么使用?
Alter-var-root 能否用于java方法
isaac
#2
不能, java 的方法是个值, 不是 var, var 必须是Clojure def
定义出来的。
(def a 42)
(defn foo [x]
(+ a x))
;;; 编译成
(defn foo [x]
(+ (var-get #'a) x))