एरे के अंदर तत्वों को खोजने की कला में महारथ प्राप्त करना कुशल रूबी प्रोग्रामिंग के लिए महत्वपूर्ण है। यह गाइड विभिन्न परिदृश्यों और कोडिंग शैलियों को पूरा करने वाले, किसी तत्व के सूचकांक (स्थिति) का पता लगाने के विभिन्न तरीकों का पता लगाता है।
विषयवस्तु सारणी
index
के साथ तत्वों का पता लगानाeach_with_index
के साथ पुनरावृति दृष्टिकोणfind_index
का उपयोग करके सशर्त खोजेंrindex
के साथ अंतिम घटना का पता लगाना- उन्नत तकनीकें और विचार
- अक्सर पूछे जाने वाले प्रश्न
index
के साथ तत्वों का पता लगाना
index
विधि किसी तत्व की पहली घटना का सूचकांक खोजने का सबसे सरल तरीका प्रदान करती है। यदि मिल जाए तो यह सूचकांक देता है, अन्यथा nil
।
my_array = ["apple", "banana", "cherry", "banana", "date"]
index_of_banana = my_array.index("banana") # 1 लौटाता है
puts index_of_banana
index_of_grape = my_array.index("grape") # nil लौटाता है
puts index_of_grape
यह विधि की दक्षता इसे सीधी खोजों के लिए आदर्श बनाती है जिन्हें केवल पहले मिलान की आवश्यकता होती है।
each_with_index
के साथ पुनरावृति दृष्टिकोण
each_with_index
विधि प्रत्येक तत्व और उसके सूचकांक के माध्यम से पुनरावृति करती है। यह अधिक नियंत्रण प्रदान करता है, खासकर जटिल परिदृश्यों के लिए या जब अतिरिक्त क्रियाओं की आवश्यकता होती है।
my_array = ["apple", "banana", "cherry", "banana", "date"]
found_indices = []
my_array.each_with_index do |element, index|
if element == "banana"
found_indices << index
end
end
puts found_indices.inspect # [1, 3] लौटाता है
यह दृष्टिकोण कई मिलानों को संभालने या साधारण सूचकांक पुनर्प्राप्ति से परे क्रियाओं की आवश्यकता होने पर चमकता है।
find_index
का उपयोग करके सशर्त खोजें
index
के समान, find_index
अधिक जटिल मिलान मानदंडों के लिए एक ब्लॉक स्वीकार करता है।
my_array = ["apple", "banana", "cherry", "banana", "date"]
index_of_long_fruit = my_array.find_index { |fruit| fruit.length > 6 } # 2 ("cherry") लौटाता है
puts index_of_long_fruit
index_of_a_fruit = my_array.find_index { |fruit| fruit.start_with?("a") } # 0 ("apple") लौटाता है
puts index_of_a_fruit
find_index
का लचीलापन साधारण समानता से परे खोजों को पूरा करता है।
rindex
के साथ अंतिम घटना का पता लगाना
rindex
विधि index
को दर्शाती है लेकिन सरणी के अंत से खोज करती है, अंतिम घटना के सूचकांक को लौटाती है।
my_array = ["apple", "banana", "cherry", "banana", "date"]
last_index_of_banana = my_array.rindex("banana") # 3 लौटाता है
puts last_index_of_banana
यह तब मूल्यवान होता है जब आपको किसी तत्व का अंतिम उदाहरण चाहिए।
उन्नत तकनीकें और विचार
किसी विशिष्ट तत्व के सभी सूचकांकों को खोजने के लिए, मिले हुए सूचकांकों को संग्रहीत करने के लिए एक सरणी के साथ संयुक्त each_with_index
एक मजबूत समाधान प्रदान करता है। बेहतर प्रदर्शन के लिए अत्यधिक बड़े सरणियों के लिए अधिक परिष्कृत खोज एल्गोरिदम का उपयोग करने पर विचार करें।
अक्सर पूछे जाने वाले प्रश्न
- यदि तत्व नहीं मिला तो क्या होगा?
index
,find_index
, औरrindex
कोई मिलान नहीं मिलने परnil
लौटाते हैं। - क्या ये विधियाँ अन्य डेटा संरचनाओं के साथ काम कर सकती हैं? ये विधियाँ विशेष रूप से सरणियों के लिए डिज़ाइन की गई हैं। हैश टेबल या अन्य संरचनाओं में समान संचालन के लिए अलग-अलग विधियाँ हो सकती हैं।
index
औरfind_index
में क्या अंतर है?index
एक साधारण समानता जाँच करता है;find_index
अधिक जटिल तर्क के लिए एक ब्लॉक का उपयोग करता है।
यह गाइड रूबी में सरणी सूचकांकों को खोजने का एक व्यापक अवलोकन प्रदान करता है। अपनी विशिष्ट आवश्यकताओं और प्रोग्रामिंग शैली के लिए सबसे उपयुक्त विधि का चयन करें।