[RUBY] [Rubiy] J'ai essayé de résumer le traitement de la boucle ce soir [fois, pause ...]

Dernière fois a introduit le traitement itératif lié aux séquences. Cette fois, l'arrangement est également bon. Concentrons-nous sur le traitement en boucle qui est également utilisé pour les objets range.

Graphique simplifié

Traitement itératif

Méthode/grammaire Nombre de répétitions
for ~ in ~Phrase Élément d'objet
déclaration while Tant que la condition spécifiée est vraie
jusqu'à la déclaration Alors que la condition spécifiée est fausse
méthode des temps Spécifié arbitrairement
méthode de boucle infini

Techniques de traitement itératif

grammaire une fonction
next sauter
redo Refaire
break Suspension

Méthodes / grammaires qui modifient le nombre de répétitions

for ~ in ~ Répéter pour chaque élément (plage)


for num in 1..5 do
  p num
end

Valeur de retour


1
2
3
4
5
=> 1..5

while Répétez jusqu'à ce que la condition soit fausse


num = 0

while num <= 12 do
  p num
  num += 3
end

Valeur de retour


0
3
6
9
12
=> nil

until Répétez jusqu'à ce que la condition soit vraie


num = 16

until num <= 12 do
  p num
  num -= 2
end

Valeur de retour


16
14
=> nil

times Répétez le nombre de fois spécifié

Boucle simple


num = 0

5.times do
  p num
end

Valeur de retour


0
0
0
0
0
=> 5

Boucle tout en modifiant la valeur


num = 0

5.times do |num|
  p num
  num += 1
end

Valeur de retour


0
1
2
3
4
=> 5

loop Répétez indéfiniment sauf si vous vous arrêtez avec une pause


num = 0

loop do
  p num
  num += 1
  if num >= 3
    break
  end
end

Valeur de retour


0
1
2
=> nil

Techniques lors du traitement en boucle

next Peut être ignoré


num = 0..5

6.times do |num|
  next if num == 1
  p num
end

Valeur de retour


0
2
3
4
5
=> 6

redo Peut être refait


num = 0..5

6.times do |num|
  num += 1
  p num
  redo if num == 1
end

Valeur de retour


1
2
2
3
4
5
6
=> 6

break Peut être interrompu

num = 0..5

6.times do |num|
  break if num == 3
  p num
end

Valeur de retour


0
1
2
=> nil

Recommended Posts

[Rubiy] J'ai essayé de résumer le traitement de la boucle ce soir [fois, pause ...]
J'ai brièvement résumé la grammaire de base de Ruby
J'ai essayé de résumer les méthodes utilisées
J'ai essayé de résumer l'API Stream
[Ruby] J'ai essayé de résumer les méthodes fréquentes dans paiza
[Ruby] J'ai essayé de résumer les méthodes fréquentes avec paiza ②
[Chacun, carte ...] J'ai comparé le traitement du tableau ce soir [ruby]
J'ai essayé d'augmenter la vitesse de traitement avec l'ingénierie spirituelle
J'ai essayé de résumer les bases de kotlin et java
J'ai essayé de résumer le support d'iOS 14
J'ai essayé d'expliquer la méthode
J'ai essayé de résumer l'apprentissage Java (1)
J'ai essayé de résumer Java 8 maintenant
J'ai essayé de résumer ce qui était demandé lors de l'édition site-java-
Conférence spéciale sur la simulation multi-échelles: j'ai essayé de résumer le 5e
Conférence spéciale sur la simulation multi-échelles: j'ai essayé de résumer le 8
J'ai essayé de résumer les méthodes de Java String et StringBuilder
Conférence spéciale sur la simulation multi-échelles: j'ai essayé de résumer le 7
J'ai essayé de migrer le traitement vers VS Code
J'ai essayé de résumer les expressions Java lambda
[Traitement × Java] Comment utiliser la boucle
J'ai essayé d'implémenter le modèle Iterator
Qu'est-ce que Docker? J'ai essayé de résumer
J'ai essayé de résumer les points clés de la conception et du développement de gRPC
[Introduction à Java] J'ai essayé de résumer les connaissances que j'estime essentielles
J'ai essayé de résoudre le problème de la séquence Tribonacci en Ruby, avec récurrence.
J'ai essayé d'utiliser pleinement le cœur du processeur avec Ruby
J'ai essayé de résumer sur JVM / garbage collection
[Rails] J'ai essayé de faire passer la version de Rails de 5.0 à 5.2
J'ai essayé d'organiser la session en Rails
java j'ai essayé de casser un simple bloc
[Notions de base sur Ruby] J'ai essayé d'apprendre des modules (Chapitre 1)
J'ai essayé de configurer tomcat pour exécuter le servlet.
J'ai essayé de casser le bloc avec java (1)
Je veux obtenir la valeur en Ruby
Ruby: J'ai essayé de savoir où Nokogiri va voir l'encodage lui-même
J'ai essayé de résumer à nouveau le projet qui était difficile à première vue
[JavaScript] Le cas le plus fort lorsque j'ai essayé de résumer les parties que je ne comprends pas
J'ai essayé de réduire la capacité de Spring Boot
J'ai essayé de résumer divers link_to utilisés cette fois
Janken de Sazae J'ai essayé de vérifier la valeur théorique et la valeur mesurée de la probabilité de la même main 5 fois consécutives avec Ruby
J'ai essayé d'implémenter la méthode de division mutuelle d'Eugrid en Java
J'ai essayé de résoudre le problème de la machine à karaoké Ruby (il y a un exemple de réponse)
J'ai essayé de résoudre le problème de la boisson bonus Ruby (il y a un exemple de réponse)
[Rails 6.0, Docker] J'ai essayé de résumer la construction de l'environnement Docker et les commandes nécessaires pour créer un portfolio
[Pour les débutants Swift] J'ai essayé de résumer le cycle de mise en page désordonné de ViewController et View
[JDBC] J'ai essayé d'accéder à la base de données SQLite3 depuis Java.