multimethod

    16

    3답변

    Clojure 멀티 메소드를 이해하려고 얼마 동안 시간을 ​​보냈습니다. 필자가 이해하는 한, 주요 "프로"멀티 메소드 논쟁은 유연성이지만, 왜 단순한 if 또는 case 문보다 다중 방법이 더 나은지에 대한 논쟁과 혼동 스럽다. 누가 다형성과 과장된 사례 진술 사이의 경계가 어디에서 유래 되었습니까? 편집 : 질문에서 내가 'if'문과 비교하는 데 더 관

    2

    3답변

    Java 클래스가 나타내는 clojure 구조에서만 clojure multimethods를 사용할 수 있는지 또는 struct 또는 다른 속성을 전달하기 위해 multimethod을 기본으로 사용할 수 있는지에 대해 약간 혼란 스럽습니까?

    3

    1답변

    내 응용 프로그램의 일부를 렌더링 할 수있는 Clojure 응용 프로그램에서 "시각화"라는 메서드가 있습니다. 내가 가진 문제는 애플리케이션에서 자바 클래스이고 일부는 내부적으로 clojure :: idiom을 사용하여 맵 유형을 표시하는 필드가있는 해시 맵이다. 유형이나 내부 유형에 디스패치하기 위해 멀티 맵을 사용할 수는 있지만 동일한 멀티 메소드가 모

    5

    3답변

    : (derive ::rect ::shape) (derive ::square ::rect) 지금하여 shapes 네임 스페이스에 다음 실행 : (isa? ::square ::shape) 반환 true. 내가 실행할 때 그러나 (isa? ::square ::shape) 그것은 false를 반환, 실제로 도면에 대한 multimethods을 구현하

    0

    1답변

    무엇이며, 무엇이 다른가요? 많은 소스는 Wikipedia처럼 제 그들은 같은 일,하지만 다른 사람은 명시 적으로 this question에 SBI처럼, 반대 말 : 첫째 : "방문자 패턴이 두 번 파견을 시뮬레이션 할 수있는 방법입니다 C++에서. " 이것은 완전히 옳지 않습니다. 실제로, 이중 디스패치는 C++에서 (누락 된) 다중 메소드를 시뮬레이트하

    8

    3답변

    나는 두 개의 매개 변수를 전문으로하는 multimethod 있습니다 (defmethod get-tag-type [::cat 0] [type tag] ::tiger) (defmethod get-tag-type [::cat 1] [type tag] ::lion) (defmethod get-tag-type [::cat 2] [type tag] ::jagua