Ruby à propos de divers processus itératifs

Préface

Résumez le processus itératif de Ruby.

chaque méthode (array / hash)

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.

méthode fois (nombre de fois à répéter)

Pratique pour les processus qui ont un nombre fixe de répétitions.

times.rb


sum = 0
10.times { |n| sum += n }
sum #=> 45

méthode up / downto (valeur numérique)

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.

instruction while / until (condition de fin)

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.

méthode de boucle (boucle infinie)

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

Résumé

Il est pratique d'utiliser la méthode / syntaxe utilisée pour le traitement itératif qui convient au cas.

Les références

Une introduction à Ruby pour ceux qui veulent devenir des professionnels Junichi Ito [Auteur]

Recommended Posts

Ruby à propos de divers processus itératifs
À propos des symboles Ruby
À propos de Ruby Hash
[Débutant] Divers traitements itératifs pour les tableaux Ruby
À propos des tableaux Ruby
À propos de l'héritage Ruby
À propos de Ruby Block
À propos de Ruby Hash
Processus itératif Ruby
À propos des symboles Ruby
À propos des méthodes Ruby
À propos du module Ruby's Kernel
À propos des messages d'erreur Ruby
À propos de la gestion des exceptions Ruby
À propos de Ruby Hash (suite)
À propos des méthodes d'instance Ruby
Réflexion sur la logique Ruby
Diverses opérations sur les chaînes Ruby
Explication sur l'objet Ruby Range
À propos des expressions régulières dans Ruby
À propos des hachages et symboles Ruby
À propos de Ruby, modèle objet
À propos des classes et des instances Ruby
Explication sur l'objet Ruby String
À propos du comportement de ruby Hash # ==
Entrée standard Ruby et diverses méthodes
[Swift] À propos du traitement itératif "instruction for-in"
À propos des guillemets simples et doubles Ruby
À propos de l'opérateur de produit Ruby (&) et de l'opérateur somme (|)
[Super Introduction] À propos des symboles dans Ruby
À propos de l'héritage orienté objet et du rendement Ruby
Explique les objets Ruby Array