Ruby Programming

रूबी में ऐरे इंडेक्स पुनर्प्राप्ति में महारत

Spread the love

एरे के अंदर तत्वों को खोजने की कला में महारथ प्राप्त करना कुशल रूबी प्रोग्रामिंग के लिए महत्वपूर्ण है। यह गाइड विभिन्न परिदृश्यों और कोडिंग शैलियों को पूरा करने वाले, किसी तत्व के सूचकांक (स्थिति) का पता लगाने के विभिन्न तरीकों का पता लगाता है।

विषयवस्तु सारणी

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 अधिक जटिल तर्क के लिए एक ब्लॉक का उपयोग करता है।

यह गाइड रूबी में सरणी सूचकांकों को खोजने का एक व्यापक अवलोकन प्रदान करता है। अपनी विशिष्ट आवश्यकताओं और प्रोग्रामिंग शैली के लिए सबसे उपयुक्त विधि का चयन करें।

प्रातिक्रिया दे

आपका ईमेल पता प्रकाशित नहीं किया जाएगा. आवश्यक फ़ील्ड चिह्नित हैं *