이 질문에 대한 대답은 this answer입니다.비 리터럴 시퀀스에 대한 연결 해제 인용 부호 없음
이 같은 접합 맺다을 사용하는 매크로가있는 경우 : values
리터럴 시퀀스 또는 SEQ-할 경우
(defmacro instantiate [klass values]
`(new ~klass [email protected]))
그것은 단지 작동합니다. 이 같은 시퀀스를 들고 var에 전달되면
는 :
(def v [1 2 3])
(macroexpand '(instantiate Person v))
를 다음 출력은 v
이 순서 아님을 나타내는 오류 일 것이다.
(defn vf [] [1 2 3])
(macroexpand '(instantiate Person (vf)))
user=>(new Person vf)
내 질문은 : 순서가 'ISN을 접합 할 두 경우에 Clojure의 매크로의 접합 맺다를 사용하는 방법은 없나요
는 심지어 함수 호출 목록으로 해석됩니다 문자 그대로?
그래서 때로는 가능하지 않으며, 다른 때에는 나쁜 생각입니다. 감사. –