Java 클래스의 일부 static
public
필드를 기반으로 함수를 동적으로 만들려고합니다. 그래서 하나의 파일에서 나는 다음과 같은 것을 가지고 있습니다 :어떻게 동적으로 생성 된 심볼을 참조합니까?
(intern *ns* (symbol (get-fieldname-from-class class)) some-func)
문제는 아직 정의되지 않은 상태에서 특정 기능을 호출하려고합니다.
예를 들어 Java 클래스에는 정적 int PARENTHESIZED_EXPRESSION
필드가 있습니다. 이것에서 나는 parenthesized-expression?
함수를 생성합니다. 이것은 꽤 잘 작동하지만이 함수를 사용하는 REPL
에 Clojure 파일을로드하면
괄호 안의 표현식을 해결할 수 없습니까?
오류. 그래서 나는 그 상징이 먼저 억류되어 있는지 확인해야한다. 어떻게해야합니까?
실용적인 접근 방식이 아니라는 것을 알고 있지만이 클래스의 모든 필드에 대해 비슷한 기능을 거의 80 개 입력하는 것을 주저합니다. 게다가이 클래스는 변경 될 수 있습니다.
는 간단하다'클래스/fieldName' 당신은이 복잡한 길을 갈 필요가 이유는 무엇입니까 그들을위한 함수를 만들 수 있습니까? – Ankur
나도 알아,하지만 난 (= (.getNodeType expr) ASTNode/PARENTHESIZED_EXPRESSION))을 (괄호로 묶인 표현식? expr)을 사용하여 많이 바꿔야한다. –