2016-03-28 4 views
-4

Unten ist mein Ruby-Code ..Kann ich Array-Variable in geschachtelte For-Schleife setzen?

a = Array.new(10) 

(0..10).each do |i| 
    a[i] = 0 
end 

(1..5).each do |t| 
    a[t] = gets.chomp 
end 

(0..10).each do |i| 
    (1..a[i]).each do |j| 
    puts i 
    end 
end 

Es ist etwas falsch mit 1..a scheint [i], warum?

+0

'(10)' ist bedeutungslos in Ihrem 'a = Array.new (10)' aus zwei Gründen: (i) Sie alle Elemente neu schreiben "0" zu sein, (ii) du fügst sogar das elfte Element hinzu ("0" zu sein), so dass selbst die Anzahl der Elemente auf "10" gesetzt wird, hat keine Bedeutung. – sawa

+0

Wie ist dein Code falsch? – sawa

Antwort

3

gets.chomp gibt eine Zeichenfolge zurück, aber Sie benötigen eine ganze Zahl, um einen Bereich zu generieren.

Ändern Sie einfach die Zeile mit der gets.chomp zu:

a[t] = gets.to_i 
Verwandte Themen