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 № 1NUMBERS = %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}" }