Duck typing हे एक तत्त्व आहे जिथे एखाद्या ऑब्जेक्टची योग्यता कोणत्या methods ला प्रतिक्रिया देते यावर निर्भर करते, त्याच्या class किंवा type वर नाही — "जर ते बत्तखीसारखे चालते आणि बत्तखीसारखे आवाज करते, तर ते बत्तखी आहे." Ruby मध्ये, तुम्ही हे काळजी करता की एखादी ऑब्जेक्ट काहीतरी करू शकते (method आहे), कोणत्या प्रकारची आहे हे नाही. हे inheritance किंवा interfaces शिवाय लवचिक, polymorphic code सक्षम करते.
तत्त्व: प्रकारापेक्षा वर्तन
()
duck.quack
=
=
make_it_quack(.new)
make_it_quack(.new)
