2
Clojure 함수에서 Java reflection 메서드를 사용하고 싶습니다. (.toString {:a 1})
같은 코드는 clojure reader로 구문 분석하고 컴파일합니다. 그래서, clojure 매크로를 사용하여 작동합니다. 하지만 런타임에 자바 객체 메서드를 호출하는 함수를 정의하고자한다면 실패합니다. 나는 이런 종류의 코드를 클로저로 호출하는 방법을 모른다.실행시 java 메소드를 호출하기위한 clojure 코드를 생성하는 방법은 무엇입니까?
여기 내 데모 코드 : 결과 목록 (.toString 3.4M)
입니다
(def jmethod ".toString")
(defn call-java-method [mname & body]
(let [fn1 (fn [] `(~(symbol mname) [email protected]))]
(fn1)))
user=> (call-java-method jmethod 3.4M)
,하지만 난 Clojure의 함수 호출로이 목록을 평가 후면합니다.