하나의 데이터 유형에 대해 다중 메소드의 구현을 여러 개 만들려면 어떻게해야합니까? 동일한 유형의 다중 메소드에 대해 여러 구현을 제공 할 수 있습니까?
이
는 좋은 예되지 않을 수도 있습니다,하지만 난 그게 생각 보여 희망 :repl> (def thing [[[1] []] [27] [18 [32 35]]])
repl> (fmap count thing)
[2 1 2]
을 나무로 :
repl> (fmap (partial + 1) thing)
[[[2] []] [28] [19 [33 36]]]
무엇입니까 두 시퀀스로 중첩 된 벡터를 처리 할 수를 동일한 유형에 대해 여러 개의 다중 메소드 구현을 작성하고 사용하는 일반적인 방법은 무엇입니까?
멀티 메소드만으로는 여기에서 많은 도움이 될 것이라고 생각하지 않습니다.'defmethod'는 그 디스패치 값에 대해 정의 된 이전 메소드를 새로운 것으로 대체합니다. – Alex
함수가 완전히 다른 두 가지 일을하는 경우 두 개의 다른 함수/다중 방법을 선언하지 않는 이유는 무엇입니까? – DaoWen
멀티 메소드는 유형에 국한되지 않고 모든 유형에 다형성이 있습니다 (가장 일반적이지만). 따라서, 한 가지 유형으로 처리하려는 동일한 유형의 엔티티와 다른 유형으로 처리하려는 엔티티를 구별 할 수있는 방법이 있다면이 방법을 사용하십시오. –