Duck typing é um princípio onde a adequação de um objeto é determinada pelo quais métodos ele responde, não pela sua classe ou tipo — "se anda como um pato e grasna como um pato, é um pato". Em Ruby, você se importa que um objeto consiga fazer algo (tenha o método), não qual é o seu tipo. Isso permite código flexível e polimórfico sem herança ou interfaces.
O princípio: comportamento sobre tipo
()
duck.quack
=
=
make_it_quack(.new)
make_it_quack(.new)
