/ / Rubis | Boucle pour afficher les variables basées sur le nombre - ruby, boucles

Ruby | Boucle pour afficher les variables libérées sur le nombre - rubis, boucles

Pendant 20 minutes, je trouve comment afficher les variables en fonction de la boucle de son numéro actuel, mais je n'arrive pas à le comprendre.

Je l'ai fait fonctionner avec une chaîne, mais pas avec une variable.

foo1 = "one"

foo2 = "two"

foo3 = "three"

foo4 = "four"

foo5 = "five"

foo6 = "six"

foo7 = "seven"

foo8 = "eight"

foo9 = "nine"

foo10 = "ten"

10.times do |n|
n+=1
puts foo{n}
end

Le code doit faire ceci :

puts foo1 + "n" + foo2 + "n" + foo3 + "n" + foo4 + "n" + foo5 + "n" + foo6 + "n" + foo7 + "n" + foo8 + "n" + foo9 + "n" + foo10 + "n"

Réponses:

0 pour la réponse № 1
NUMBERS = %w[one two three four five six seven eight nine ten].freeze

# Not so good if the number of items changes
10.times do |n|
puts NUMBERS[n]
end

# Better, but might not fit the homework requirements ;-)
NUMBERS.each do |number|
puts number
end

0 pour la réponse № 2

Cela répond exactement à votre question, mais JFYI, c'est une idée terrible et pour ce qu'elle aurait dû être, veuillez consulter la réponse de @Drenmi (crédits à @SergioTulentsev)

foo1 = "one"
foo2 = "two"
foo3 = "three"
foo4 = "four"
foo5 = "five"
foo6 = "six"
foo7 = "seven"
foo8 = "eight"
foo9 = "nine"
foo10 = "ten"

1.upto(10) { |n| puts binding.local_variable_get "foo#{n}" }