multimethod

    1

    1답변

    동시에 두 관념을 관용적으로 사용하는 언어가 있습니까? 언제까지 그런 것이 필요할 것입니까? 각 접근법의 장단점은 무엇입니까? 질문에 배경 : multimethods와 인터페이스가 의미하는 방법의 더 나은 사진을 만들려고 내가 (일부 파이썬 지식) 초보자 오전 (일반적으로) 사용되는. 나는 그것들이 혼합되어서는 안된다고 가정합니다 : 인터페이스 측면에서 사

    1

    1답변

    무스 오브젝트로 멀티 메쏘드 디스패치가 필요합니다. 나는 Class::Multimethods::Pure으로 이것을하고있다. 나는 MooseX::MultiMethods 대신에 이것을 선택했습니다. 왜냐하면 테스트에 실패했기 때문에 내 시스템에 설치할 수없는 MooseX::Method::Signatures에 의존하기 때문입니다. 당신이 제안 할 수있는 대체 접

    60

    1답변

    그의 말에 Simple Made Easy, 릭 히키는 "다형성 알라 카르테"(약 30:00 비디오)에 대해 말합니다. 같은 맥락에서 그는 또한 Haskell의 Type Classes과 Clojure의 Multi-Methods (및 프로토콜)에 대해 언급합니다. 이 개념에 익숙하지 않으므로 단순화을 달성하려고 할 때 그 유용성을 알고 싶습니다. 나는 특히이

    3

    1답변

    내가 딸꾹질 데이터 구조를 나타내는 벡터 트리를 탐색 할 벡터 트리를 탐색 원래의 태그를 대체 할 다른 벡터 집합을 반환합니다. 파라미터로서 ("안녕하세요", "안녕하세요")리스트 수신처 [:div {:class "special"} [:div [:button "Hello"] [:button "Hi"]]] 맞춤 multimethod 예 : , 상기 구조로

    3

    1답변

    빠른 clojure 질문,이 구문은 대부분 관련이 있다고 생각합니다. 어떻게 예를 들어, 내가 인수의 특정 유형의 서명을 기반으로 multimethod을 파견 할 : (defn foo ([String a String b] (println a b)) ([Long a Long b] (println (+ a b)) ([String a

    2

    3답변

    첫째, 저는 Clojure를 처음 접했기 때문에 이것은 어리석은 질문 일 수 있습니다. 학습 연습으로, 나는 사소한 텍스트 어드벤처 멀티 메소드 시스템을 작동 시켰습니다. 이제 키워드를 사용하여 '자루', '검'등의 개별 인스턴스와 관련된 데이터를 보관할 수있는 '명성'형식으로 변경하려고합니다. defrecord 여기로가는 방법은 무엇입니까? 질문 : Ca

    7

    2답변

    질문이 사소한 경우 사과 드리지만 일부 인터넷 검색은 나를 이끌지 않습니다. defmulti 및 defmethod의 일반 구문은 무엇입니까? 간단한 다중 메소드를 작성할 수는 있지만 어디에서 docstring, 사전 및 사후 조건, 메타 데이터 등을 넣을 수 있는지 잘 모르겠습니다. 실제로 ClojureScript보다 Clojure에 더 관심이 많으므로 둘

    2

    2답변

    레코드 유형과 관련하여 F #에서 다형성을 처리 할 수있는 방법이 있습니까? 예를 들어 두 가지 레코드 유형의 주소, 거리 주소 및 상자 주소가 있다고 가정 해 보겠습니다. 나는 행동과 관련하여 패턴 매칭에서 그것들을 다룰 수 있다고 생각한다. 하지만,

    1

    2답변

    하나의 데이터 유형에 대해 다중 메소드의 구현을 여러 개 만들려면 어떻게해야합니까? 이는 좋은 예되지 않을 수도 있습니다,하지만 난 그게 생각 보여 희망 : repl> (def thing [[[1] []] [27] [18 [32 35]]]) repl> (fmap count thing) [2 1 2] 을 나무로 : repl> (fmap (partia

    8

    1답변

    내가 예를 들어, 다른 원시 타입과 래퍼 클래스 사이에 내 프로그램의 행위를 원하는 : (defmulti try-type class) (defmethod try-type Integer [arg] (println "Integer")) (defmethod try-type Integer/TYPE [arg] (println "int"))