Duck typing एक सिद्धांत है जहाँ किसी object की उपयुक्तता इस बात से निर्धारित होती है कि वह किन methods का जवाब देता है, न कि इसके class या type से — "यदि यह एक बत्तख की तरह चलता है और एक बत्तख की तरह quack करता है, तो यह एक बत्तख है।" Ruby में, आप इस बात की परवाह करते हैं कि एक object कुछ कर सकता है (method है), न कि यह किस type का है। यह inheritance या interfaces के बिना लचीला, polymorphic code सक्षम बनाता है।
The principle: behavior over type
()
duck.quack
=
=
make_it_quack(.new)
make_it_quack(.new)
