Duck typing არის პრინციპი, სადაც ობიექტის ადეკვატურობა განისაზღვრება რა მეთოდებს უპასუხებს, არა მის კლასს ან ტიპს — "თუ ხორბალი ჩანს, ხორბლის ხმა უკრავს, მაშინ ხორბალია". Ruby-ში თქვენ გაკვებთ, რომ ობიექტი შეუძლია რაიმე გააკეთოს (აქვს მეთოდი), არა რა ტიპია. ეს საშუძლებას აძლევს მოქნილი, პოლიმორფული კოდი მემკვიდრეობის ან ინტერფეისის გარეშე.
პრინციპი: ქცევა ტიპზე ზეპირ
()
duck.quack
=
=
make_it_quack(.new)
make_it_quack(.new)
