Duck typing ialah prinsip di mana kesesuaian sesuatu objek ditentukan oleh method apa yang ia respons, bukan class atau jenisnya — "jika ia berjalan seperti itik dan berbunyi seperti itik, maka ia ialah itik." Dalam Ruby, anda mengambil berat bahawa sesuatu objek boleh melakukan sesuatu (mempunyai method tersebut), bukan jenis apa ia. Ini membolehkan kod yang fleksibel dan polimorfik tanpa pewarisan atau interface.
Prinsipnya: tingkah laku mengatasi jenis
()
duck.quack
=
=
make_it_quack(.new)
make_it_quack(.new)
