यह पहले से मौजूद सार्वजनिक एपीआई के लिए है जिसे मैं तोड़ नहीं सकता, लेकिन मैं विस्तार करना चाहता हूं।बतख-टाइपिंग तारों, प्रतीकों और सरणी का सुरुचिपूर्ण तरीका?
वर्तमान में विधि एक स्ट्रिंग या एक प्रतीक या कुछ और कि भावना जब send
को पहले पैरामीटर के रूप में पारित मैं तार, प्रतीकों, वगैरह की एक सूची भेजने की क्षमता जोड़ना चाहते हैं बनाता है लेता है । मैं सिर्फ is_a? Array
का उपयोग कर सकता हूं, लेकिन सूचियां भेजने के अन्य तरीके हैं, और यह बहुत रूबी-आश नहीं है।
मैं सूची में map
पर कॉल कर रहा हूं, इसलिए पहला झुकाव respond_to? :map
का उपयोग करना है। लेकिन एक स्ट्रिंग भी :map
का जवाब देती है, जिससे यह काम नहीं करेगा।
कुछ भी नहीं है अपने प्रश्न के साथ क्या करना है, लेकिन मुझे आशा है कि आप कुछ चेकों कर रहे हैं इससे पहले कि आप भेजने विधि के लिए उपयोगकर्ता इनपुट पारित! ओह। –
अच्छा बिंदु। हमारे मामले में, दस्तावेज़ स्पष्ट रूप से बताते हैं कि पैरामीटर एक विधि का नाम है। यह एक गहरे पर्याप्त एपीआई कि यह पर्याप्त होना चाहिए है .... –
यह दस्तावेज़ीकरण की बात नहीं है - यह एक सुरक्षा छेद है। अगर वे बैकटिक में गुजरते हैं, तो भेजें दूसरा पैरामीटर शेल में चलाया जाता है। क्या आप वास्तव में यही चाहते हैं? आप केस स्टेटमेंट में इनपुट की जांच करने और फिर भेजने के लिए अपने स्वयं के निर्माण के प्रतीक भेजना बेहतर कर रहे हैं। –