Duck typing, bir nesnenin uygunluğunun yanıt verdiği metodlar tarafından belirlendiği bir prensiptir, sınıfı veya tipi değil — "ördek gibi yürür ve ördek gibi vak vak sesler çıkarırsa, bu bir ördektir." Ruby'de, nesnenin ne yapabileceği (metodun var olması) önemlidir, tipi değil. Bu, kalıtım veya arayüzler olmaksızın esnek, polimorfik kod yazmayı sağlar.
İlke: tür yerine davranış
()
duck.quack
=
=
make_it_quack(.new)
make_it_quack(.new)
