Duck typing este un principiu în care adecvarea unui obiect este determinată de ce metode poate apela, nu de clasa sau tipul acestuia — "dacă merge ca o rață și cântă ca o rață, atunci este o rață". În Ruby, te interesează că un obiect poate face ceva (are metoda), nu ce tip este. Aceasta permite cod flexibil și polimorf fără moștenire sau interfețe.
Principiul: comportament peste tip
()
duck.quack
=
=
make_it_quack(.new)
make_it_quack(.new)
