खोज…


पैरामीटर सूची में सरणियों को सम्मिलित करना

मान लीजिए कि आपके पास एक सरणी है:

pair = ['Jack','Jill']

और एक विधि जो दो तर्क लेती है:

def print_pair (a, b)
  puts "#{a} and #{b} are a good couple!"
end

आपको लगता है कि आप सिर्फ सरणी पास कर सकते हैं:

print_pair(pair) # wrong number of arguments (1 for 2) (ArgumentError)

चूंकि सरणी सिर्फ एक तर्क है, दो नहीं, इसलिए रूबी एक अपवाद फेंकता है। आप प्रत्येक तत्व को अलग-अलग निकाल सकते हैं :

print_pair(pair[0], pair[1])

या आप खुद को कुछ प्रयास करने के लिए स्पैट ऑपरेटर का उपयोग कर सकते हैं:

print_pair(*pair)

विभिन्न प्रकार के तर्क

स्पैट ऑपरेटर एक सरणी के अलग-अलग तत्वों को निकालता है और उन्हें एक सूची में बनाता है। यह आमतौर पर एक विधि बनाने के लिए उपयोग किया जाता है जो एक चर संख्या के तर्कों को स्वीकार करता है:

# First parameter is the subject and the following parameters are their spouses
def print_spouses(person, *spouses)
  spouses.each do |spouse|
    puts "#{person} married #{spouse}."
  end
end

print_spouses('Elizabeth', 'Conrad', 'Michael', 'Mike', 'Eddie', 'Richard', 'John', 'Larry')

ध्यान दें कि एक सरणी सूची में केवल एक आइटम के रूप में गिना जाता है, इसलिए आपको कॉलिंग साइड पर भी हमारे लिए आपरेटर की आवश्यकता होगी, यदि आपके पास एक सरणी है जिसे आप पास करना चाहते हैं:

bonaparte = ['Napoleon','Joséphine','Marie Louise']
print_spouses(*bonaparte)    


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow