2013-02-18 5 views
2

Если у определенного класса Java есть метод под названием «eval», как я могу его назвать из Clojure?Как вызвать метод eval класса Java из Clojure?

Выполнение следующих действий, кажется, вызвать метод Eval из clojure.core вместо Eval TestObject в:

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

Это не кажется правдой - что заставляет вас думать об этом? – sepp2k

ответ

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

Edit. Однако это очень странно. Специальная форма Dot . ожидает символ как второй параметр, а имя этого символа интерпретируется как имя метода/поля класса. Таким образом, eval не может быть оценен до eval функция в вашем случае.

+0

спасибо. –

+0

@EmreColak Это устраняет проблему? – mobyte

 Смежные вопросы

  • Нет связанных вопросов^_^