[RUBY] [Rubiy] Heute Abend habe ich versucht, die Schleifenverarbeitung zusammenzufassen [Zeiten, Pause ...]

Letztes Mal führte die iterative Verarbeitung in Bezug auf Sequenzen ein. Diesmal ist das Arrangement auch gut. Konzentrieren wir uns auf die Schleifenverarbeitung, die auch für Bereichsobjekte verwendet wird.

Vereinfachtes Diagramm

Iterative Verarbeitung

Methode/Grammatik Anzahl der Wiederholungen
for ~ in ~Satz Element des Objekts
while-Anweisung Während die angegebene Bedingung wahr ist
bis Aussage Während die angegebene Bedingung falsch ist
mal Methode Beliebig angegeben
Schleifenmethode unendlich

Techniken zur iterativen Verarbeitung

Grammatik Funktion
next überspringen
redo Wiederholen
break Suspension

Methoden / Grammatiken, die die Anzahl der Wiederholungen ändern

for ~ in ~ Wiederholen Sie dies für jedes Element (Bereich).


for num in 1..5 do
  p num
end

Rückgabewert


1
2
3
4
5
=> 1..5

while Wiederholen, bis die Bedingung falsch ist


num = 0

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

Rückgabewert


0
3
6
9
12
=> nil

until Wiederholen, bis die Bedingung erfüllt ist


num = 16

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

Rückgabewert


16
14
=> nil

times Wiederholen Sie die angegebene Anzahl von Malen

Einfache Schleife


num = 0

5.times do
  p num
end

Rückgabewert


0
0
0
0
0
=> 5

Schleife beim Ändern des Werts


num = 0

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

Rückgabewert


0
1
2
3
4
=> 5

loop Wiederholen Sie dies auf unbestimmte Zeit, es sei denn, Sie hören mit einer Pause auf


num = 0

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

Rückgabewert


0
1
2
=> nil

Techniken während der Schleifenverarbeitung

next Kann übersprungen werden


num = 0..5

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

Rückgabewert


0
2
3
4
5
=> 6

redo Kann erneuert werden


num = 0..5

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

Rückgabewert


1
2
2
3
4
5
6
=> 6

break Kann unterbrochen werden

num = 0..5

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

Rückgabewert


0
1
2
=> nil

Recommended Posts

[Rubiy] Heute Abend habe ich versucht, die Schleifenverarbeitung zusammenzufassen [Zeiten, Pause ...]
Ich habe die grundlegende Grammatik von Ruby kurz zusammengefasst
Ich habe versucht, die verwendeten Methoden zusammenzufassen
Ich habe versucht, die Stream-API zusammenzufassen
[Ruby] Ich habe versucht, die häufigen Methoden in Paiza zusammenzufassen
[Ruby] Ich habe versucht, die häufigen Methoden mit paiza ② zusammenzufassen
[Jeder, Karte ...] Ich habe die Array-Verarbeitung heute Abend verglichen [Ruby]
Ich habe versucht, die Verarbeitungsgeschwindigkeit mit spiritueller Technik zu erhöhen
Ich habe versucht, die Grundlagen von Kotlin und Java zusammenzufassen
Ich habe versucht, die Unterstützung für iOS 14 zusammenzufassen
Ich habe versucht, die Methode zu erklären
Ich habe versucht, das Java-Lernen zusammenzufassen (1)
Ich habe jetzt versucht, Java 8 zusammenzufassen
Ich habe versucht zusammenzufassen, was bei der Site-Java-Ausgabe gefragt wurde.
Sondervortrag über Multiskalensimulation: Ich habe versucht, den 5. zusammenzufassen
Sondervortrag über Multi-Scale-Simulation: Ich habe versucht, den 8. zusammenzufassen
Ich habe versucht, die Methoden von Java String und StringBuilder zusammenzufassen
Sondervortrag über Multi-Scale-Simulation: Ich habe versucht, den 7. zusammenzufassen
Ich habe versucht, Processing auf VS Code zu migrieren
Ich habe versucht, Java-Lambda-Ausdrücke zusammenzufassen
[Verarbeitung × Java] Verwendung der Schleife
Ich habe versucht, das Iterator-Muster zu implementieren
Was ist Docker? Ich habe versucht zusammenzufassen
Ich habe versucht, die wichtigsten Punkte des gRPC-Designs und der Entwicklung zusammenzufassen
[Einführung in Java] Ich habe versucht, das Wissen zusammenzufassen, das ich für wesentlich halte
Ich habe versucht, das Problem der Tribonacci-Sequenz in Ruby mit Wiederholung zu lösen.
Ich habe versucht, den CPU-Kern mit Ruby voll auszunutzen
Ich habe versucht, über JVM / Garbage Collection zusammenzufassen
[Rails] Ich habe versucht, die Version von Rails von 5.0 auf 5.2 zu erhöhen
Ich habe versucht, die Sitzung in Rails zu organisieren
Java Ich habe versucht, einen einfachen Block zu brechen
[Ruby-Grundlagen] Ich habe versucht, Module zu lernen (Kapitel 1)
Ich habe versucht, Tomcat so einzustellen, dass das Servlet ausgeführt wird.
Ich habe versucht, den Block mit Java zu brechen (1)
Ich möchte den Wert in Ruby erhalten
Ruby: Ich habe versucht herauszufinden, wohin Nokogiri geht, um die Kodierung selbst zu sehen
Ich versuchte noch einmal zusammenzufassen, was auf den ersten Blick schwierig war
[JavaScript] Der stärkste Fall, als ich versuchte, die Teile zusammenzufassen, die ich nicht verstehe
Ich habe versucht, die Kapazität von Spring Boot zu reduzieren
Ich habe versucht, verschiedene link_to zusammenzufassen, die dieses Mal verwendet wurden
Sazae's Janken Ich habe versucht, den theoretischen Wert und den gemessenen Wert der Wahrscheinlichkeit derselben Hand 5 Mal hintereinander mit Ruby zu überprüfen
Ich habe versucht, die Methode der gegenseitigen Teilung von Eugrid in Java zu implementieren
Ich habe versucht, das Problem mit der Ruby-Karaoke-Maschine zu lösen (es gibt ein Beispiel für die Antwort).
Ich habe versucht, das Problem mit dem Ruby-Bonusgetränk zu lösen (es gibt ein Beispiel für die Antwort).
[Rails 6.0, Docker] Ich habe versucht, die Konstruktion der Docker-Umgebung und die zum Erstellen eines Portfolios erforderlichen Befehle zusammenzufassen
[Für Swift-Anfänger] Ich habe versucht, den chaotischen Layoutzyklus von ViewController und View zusammenzufassen
[JDBC] Ich habe versucht, von Java aus auf die SQLite3-Datenbank zuzugreifen.