Duck typing je princip, pri katerem je primeren objekta določen z katerimi metodami se odziva, ne z njegovim razredom ali tipom — »če hodi kot račka in kvačka kot račka, je račka.« V Ruby-ju te zanima, da objekt zmore narediti nekaj (ima metodo), ne kaj tip je. To omogoča fleksibilno, polimorfno kodo brez dedovanja ali vmesnikov.
Princip: obnašanje pred tipom
()
duck.quack
=
=
make_it_quack(.new)
make_it_quack(.new)
