如何从Clojure调用Java类的eval方法?

时间:2013-02-18 01:31:27

标签: clojure clojure-java-interop

如果某个Java类有一个名为“eval”的方法,我如何从Clojure中调用它?

执行以下操作似乎从clojure.core调用eval方法而不是TestObject的eval:

(defn test[x] 
  (let [obj (new TestObject)] 
    (. obj eval x)))

1 个答案:

答案 0 :(得分:2)

(defn test[x] 
  (let [obj (new TestObject)] 
    (.eval obj x)))

编辑。然而,这很奇怪。点特殊形式.期望符号作为第二个参数,并且此符号的名称被解释为类方法/字段的名称。因此,在您的情况下,eval无法评估为eval函数。