Java 클래스가 나타내는 clojure 구조에서만 clojure multimethods를 사용할 수 있는지 또는 struct 또는 다른 속성을 전달하기 위해 multimethod을 기본으로 사용할 수 있는지에 대해 약간 혼란 스럽습니까?Java 클래스에서만 Clojure multimethod를 사용할 수 있습니까?
2
A
답변
4
에 파견 multimethods를 구축하는 것은 매우 일반적입니다 이 경우 "클래스"는 Java 클래스, 레코드 (defrecord가 Java 클래스를 생성 함) 또는 ISeq과 같은 내부 Clojure 유형일 수 있습니다.
또한 클래스에 디스패치 할 수도 있습니다. 함수에 전달 된 args의 임의의 함수. 예를 들어 함수를 계산하고 원하는 경우 키워드.
3
당신은 (그 기능이 defmulti
의 두 번째 인수로 전달됩니다. http://clojure.org/multimethods 더 세부 사항을 제공합니다. 인수의 임의 기능에 multimethods를 전달할 수 있습니다
2
당신이 선택한 기능에 에 멀티 메소드를 발송할 수 있습니다.