Spędziłem trochę czasu, próbując zrozumieć multimethody Clojure. Głównym argumentem "multitetod" pro, o ile rozumiem, jest ich elastyczność, jednak mylę się z argumentacją, dlaczego multimetody są lepsze niż proste stwierdzenie, czy też przypadek. Czy ktoś mógłby, proszę, wyjaśnić, gdzie jest narysowana granica między polimorfizmem i nadlepionym przypadkiem?Dlaczego multimetody Clojure są lepsze niż stwierdzenia "jeśli" lub "case"
EDYCJA: Powinienem był wyraźniej odpowiedzieć na pytanie, że bardziej interesuje mnie porównanie z stwierdzeniem "jeśli". Wielkie dzięki za odpowiedzi!
Gdzie jest linia narysowana między poleceniem if a overglorified goto? – Kevin
Możesz być zainteresowany http://stackoverflow.com/q/5986120/625403, który nie jest dokładnie duplikatem, ale jest blisko spokrewniony. – amalloy