/ रूबी में / Array पुनरावृत्ति - रूबी

रूबी - रूबी में ऐरे पुनरावृत्ति

मैं रूबी में एक सरणी के माध्यम से फिर से प्रयास करने की कोशिश कर रहा हूँ। मैं उपयोग कर रहा हूँ eachविधि लेकिन निम्न त्रुटि संदेश प्राप्त करना: NoMethodError: undefined method ``each" for "1, 2":String.

मै इस्तेमाल कर रहा हूँ jruby-1.6.7। यकीन नहीं है कि यह समस्या है।

यहां कोड है:

#!/usr/bin/ruby

puts "Select one of these.n1. ABCn2. DEFn3. GHIn"

schemas = gets.chomp

len = schemas.size

puts schemas.split(",")

puts schemas[0..len]

schemas.each {|x| puts x}

रूबी में एक साधारण सरणी के माध्यम से पुनरावृत्ति के साथ मुझे कुछ मार्गदर्शन चाहिए?

धन्यवाद।

उत्तर:

उत्तर № 1 के लिए 1

आप सही रास्ते पर थे:

schemas = gets.chomp
# => "1, 2"

# save the result of split into an array
arr = schemas.split(",")
# => [1, 2]

# loop the array
arr.each { |schema| puts schema }
# => 1
# => 2

आप इसे एक पंक्ति में भी कर सकते हैं, हालांकि सरणी कहीं भी सहेजी नहीं जाती है।

schemas = gets.chomp
schemas.split(",").each { |schema| puts schema }
# => 1
# => 2

जवाब के लिए 0 № 2

आपके पास सही विचार है, हालांकि आप इसे बुला रहे हैं Array#each ए पर विधि तार.

schemas = gets.chomp
puts schemas.split(",")

यह सच है कि String#split विधि एक स्ट्रिंग को एक सरणी में परिवर्तित करती है, हालांकि आपने वास्तव में डेटा प्रकार को कभी भी परिवर्तित नहीं किया है। schemas अभी भी एक स्ट्रिंग के रूप में पहचाना जाता है।

आप क्या कर सकते हैं

schemas = schemas.split(",")

फिर

schemas.each{|x| puts x}