Duck typing är en princip där ett objekts lämplighet bestäms av vilka metoder det svarar på, inte dess klass eller typ — "om det går som en anka och kväcker som en anka, då är det en anka." I Ruby bryr du dig om att ett objekt kan göra något (har metoden), inte vilken typ det är. Detta möjliggör flexibel, polymorf kod utan arv eller gränssnitt.
Principen: beteende över typ
()
duck.quack
=
=
make_it_quack(.new)
make_it_quack(.new)
