Résumez le processus itératif de Ruby.
La méthode itérative la plus utilisée dans Ruby. Pratique pour les tableaux et les hachages.
each.rb
fruits = ["apple", "banana", "grape"]
fruits.each{ |fruit| puts fruit }
Les éléments du tableau fruits sont extraits un par un du plus jeune index, placés dans l'argument fruit, et le traitement dans {} est exécuté. J'utilise {} car il ne traite qu'une seule ligne,
each_do.rb
numbers = [1, 2, 3, 4, 5]
sum = 0
numbers.each do |number|
if number % 2 == 0
sum += number / 2
else
sum += number
end
end
sum #=> 12
Pour plusieurs lignes, l'utilisation de do end facilite l'écriture.
Pratique pour les processus qui ont un nombre fixe de répétitions.
times.rb
sum = 0
10.times { |n| sum += n }
sum #=> 45
Utile lorsque les numéros de début et de fin sont fixes.
upto.rb
15.upto(20) do |age|
if age < 18
puts "#{age}Pas de droit de vote selon l'âge"
else
puts "#{age}J'ai plus de 18 ans, j'ai donc le droit de vote"
end
end
jusqu'à répète le processus dans le sens de l'augmentation de la valeur numérique. Exécute le traitement du premier numéro 15 spécifié au dernier numéro 20.
downto.rb
20.downto(15) do |age|
if age < 18
puts "#{age}Pas de droit de vote selon l'âge"
else
puts "#{age}J'ai plus de 18 ans, j'ai donc le droit de vote"
end
end
downto répète le processus dans le sens de la diminution de la valeur numérique. Exécute le traitement du premier numéro spécifié 20 au dernier numéro 15.
Utile lorsque les conditions de fin sont fixées
while.rb
array = (1..100).to_a
sum = 0
i = 0
while sum < 1000
sum += array[i]
i += 1
end
sum #=> 1035
Tant que la condition à côté de while est vraie, le processus pendant while end est répété. Dans le code ci-dessus, le processus se termine lorsque la somme de la valeur totale dépasse 1000.
L'instruction jusqu'à est l'opposé de l'instruction while et répète le processus lorsque la condition est fausse.
until.rb
array = (1..100).to_a
sum = 0
i = 0
until sum >= 1000
sum += array[i]
i += 1
end
sum #=> 1035
Le code ci-dessus a la même signification que while.rb.
Vous pouvez créer une boucle infinie avec while true, mais vous pouvez la créer plus simplement en utilisant la méthode loop.
loop.rb
numbers = [1, 2, 3, 4, 5, 6, 7]
loop do
n = numbers.sample
puts n
break if n == 7
end
Il est pratique d'utiliser la méthode / syntaxe utilisée pour le traitement itératif qui convient au cas.
Une introduction à Ruby pour ceux qui veulent devenir des professionnels Junichi Ito [Auteur]
Recommended Posts