मुझे लगता है कि रूबी (और गतिशील रूप से टाइप की गई भाषाओं, सामान्य रूप से) में एक बहुत ही सामान्य अभ्यास है, कंक्रीट विधि पैरामीटर घोषित करने के बजाय हैश पास करना है। उदाहरण के लिए, बजाय मानकों के साथ एक विधि की घोषणा और बुलाने की यह यह पसंद:विधि पैरामीटर के बजाय पासिंग हैश
def my_method(width, height, show_border)
my_method(400, 50, false)
आप इसे इस तरह से कर सकते हैं:
def my_method(options)
my_method({"width" => 400, "height" => 50, "show_border" => false})
मैं इसके बारे में आपकी राय जानना चाहते हैं। क्या यह एक अच्छा या बुरा अभ्यास है, क्या हमें यह करना चाहिए या नहीं? इस अभ्यास का उपयोग करने वाली स्थिति में वैध है, और यह किस स्थिति में खतरनाक हो सकता है?
+1, वास्तव में, एक अच्छा सवाल –
एक छोटी सी टिप्पणी: '{चौड़ाई => 400, ऊंचाई => 50, show_border => झूठी}' मान्य नहीं माणिक वाक्य रचना है। मुझे लगता है कि आपका मतलब है {{चौड़ाई => 400,: ऊंचाई => 50,: show_border => false} 'या' {चौड़ाई: 400, ऊंचाई: 50, show_border: false} '(बाद वाला केवल रूबी 1.9 में मान्य है .1) – henrikhodne