Итак, скажем, у меня есть этот абстрактный класс в Java с именем MyFunction, который имеет абстрактный метод оценки.Clojure, Java Interop и proxy-ed методы
Чтобы использовать это в Clojure, я могу сделать:
(def java-function
(proxy [MyJavaFunction] []
(evaluate [x]
(* x 2))))
И затем вызвать его:
(.evaluate java-function 3)
возвращение
; => 6
Что бы хороший способ превращения выше в чем-то более clojure:
(java-function 3)
, что будет также возвращение
; => 6