Duck typing adalah prinsip di mana kesesuaian suatu objek ditentukan oleh metode apa yang dapat direspons, bukan kelasnya atau tipenya — "jika berjalan seperti bebek dan bersuara seperti bebek, itu adalah bebek." Dalam Ruby, Anda peduli bahwa objek dapat melakukan sesuatu (memiliki metode), bukan tipe objeknya. Ini memungkinkan kode yang fleksibel dan polimorfik tanpa warisan atau antarmuka.
Prinsipnya: perilaku daripada tipe
()
duck.quack
=
=
make_it_quack(.new)
make_it_quack(.new)
