Duck typing je princip gdje se prikladnost objekta određuje prema koje metode može pozvati, a ne prema njegovoj klasi ili tipu — "ako hodi kao patka i kvači kao patka, onda je patka." U Rubyju vam je bitno da objekt može učiniti nešto (ima metodu), a ne koju tip je. Ovo omogućava fleksibilan, polimorfan kod bez nasljeđivanja ili sučelja.
Princip: ponašanje umjesto tipa
()
duck.quack
=
=
make_it_quack(.new)
make_it_quack(.new)
