Duck typing er et princip, hvor et objekts egnethed bestemmes af hvilke metoder det reagerer på, ikke dets klasse eller type — "hvis det går som en and og kværkler som en and, så er det en and." I Ruby betyder det, at du er interesseret i, hvad et objekt kan gøre (har metoden), ikke hvilken type det er. Dette muliggør fleksibel, polymorfe kode uden arv eller interfaces.
Princippet: adfærd frem for type
()
duck.quack
=
=
make_it_quack(.new)
make_it_quack(.new)
