Est-ce que cela aide? Je ne peux pas dire ce que vous essayez de faire.
5.times do |count|
puts 'In condition ' + %w(one two three four five)[count]
end
Le 5.times do |count|
va Excecute le bloc cinq fois avec count
à partir de zéro et incrémenter chaque fois. %w(one two three four five)
est la même que ["one", "two", "three", "four", "five"]
.
Si vous souhaitez effectuer cinq opérations consécutives, vous n'avez pas besoin de boucle. Il suffit de mettre les déclarations consécutives:
# do thing 1
# do thing 2
# do thing 3
# ...
Modifier:
«J'ai un tableau que je veux faire une boucle à travers, mais chaque élément du tableau doit passer par une condition différente à chaque fois puis redémarrez à la première condition. "
à boucle à travers un réseau sans fin, tester chaque élément contre les conditions:
arr = ['sdfhaq', 'aieei', 'xzhzdwz']
loop do
arr.each do |x|
case x
when /..h/
puts 'There was a \'h\' at the third character.'
when /.{6}/
puts 'There were at least six characters.'
else
puts 'None of the above.'
end
end
end
Edit 2:
« Merci pour la réponse, ce que je suis en train de faire est une boucle à travers un array et que chaque élément du tableau est appliqué à 10 conditions différentes, exemple: array [a 100 elements] l'élément 1 obtient la condition 1 l'élément 2 passe à la condition 2 et ainsi de suite, puisqu'il y a 10 conditions le 11ème élément du tableau recevrait à nouveau la condition 1 et ainsi de suite condition 1 condition 2 condition "
Vous devrez utiliser la méthode %
pour les nombres.
arr = Array.new(130) # an array of 130 nil elements.
num_conditions = 10
arr.each_with_index do |x, i|
condition = (i + 1) % num_conditions
puts "Condition number = #{condition}"
end
Plus d'informations: http://ruby-doc.org/core/classes/Fixnum.html#M001059
Modifier trois:
def send_an_email(email, server)
puts "Sending an email with the text #{email.inspect} to #{server}."
end
email_servers = ['1.1.1.1', '2.2.2.2']
emails = ['How are you doing?', 'When are you coming over?', 'Check out this link!']
emails.each_with_index do |email, i|
send_an_email email, email_servers[i % email_servers.length]
end
Vous pouvez modifier email_servers
et emails
et avoir encore du travail, même si les longueurs sont changées.
Désolé, je ne comprends pas ce que vous êtes sont Demander. Pourquoi faire une boucle? –
J'ai un tableau que je veux faire défiler, mais chaque élément du tableau doit passer par une condition différente à chaque fois, puis redémarrer à la première condition. – rahrahruby
Vous devriez éditer votre question pour ajouter plus de détails sur ce que vous essayez réellement de faire. On dirait que vous vous trompez peut-être. – mckeed