मान लें कि मेरे पास एक गणनीय वस्तु enum
है और अब मैं तीसरा आइटम प्राप्त करना चाहता हूं।निर्दिष्ट सूचकांक
मैं एक सामान्य दृष्टिकोण से एक को पता है एक सरणी में परिवर्तित और फिर जैसे सूचकांक के साथ का उपयोग:
enum.to_a[2]
लेकिन इस तरह से एक अस्थायी सरणी पैदा करेगा और यह अक्षम हो सकता है।
अब मैं का उपयोग करें:
enum.each_with_index {|v, i| break v if i == 2}
लेकिन यह काफी बदसूरत और अनावश्यक है।
ऐसा करने का सबसे प्रभावी तरीका क्या है?
यह बेहतर लग रहा है लेकिन, अगर मैं सूचकांक के रूप में एक बहुत बड़ी संख्या चाहते हैं, यह अभी भी इसके लिए एक बहुत बड़ी अस्थायी सरणी उत्पन्न होगा। –
@ShouYa: जब आप टिप्पणी कर रहे थे तो मैंने एक और सरणी-कम विकल्प जोड़ा। आपको अभी भी एक-एक-एक करके 'enum' के माध्यम से टिकना होगा, लेकिन इसके बारे में आप कुछ भी नहीं कर सकते हैं (सामान्य रूप से)। –
अगला का उपयोग करना एक स्मार्ट सुझाव है। मैं यह देखने के लिए उत्सुक होगा कि एक संग्रह को एक सरणी में परिवर्तित करने के लिए प्रदर्शन प्रभावों की तुलना किस प्रकार की जाती है। –