Each-Iterator
Teil des Abschnitts Grundlagen der Ruby-Journey von Coddy — Lektion 65 von 88.
Ruby bietet eine elegantere Möglichkeit, Arrays zu durchlaufen, als die Verwendung von for- oder while-Schleifen. Der each-Iterator ist die bevorzugte Ruby-Methode, um jedes Element in einer Sammlung zu verarbeiten.
Hier ist die grundlegende Syntax:
fruits = ["apple", "banana", "cherry"]
fruits.each do |fruit|
puts fruit
endDies gibt jede Frucht in einer separaten Zeile aus. Die Variable zwischen den Pipes (|fruit|) wird als Blockvariable bezeichnet. Sie hält vorübergehend jedes Element, während der Iterator das Array durchläuft.
Für einzeilige Blöcke können Sie geschweifte Klammern anstelle von do...end verwenden:
numbers = [1, 2, 3]
numbers.each { |n| puts n * 2 }Die each-Methode ist leistungsstark, da Sie jede beliebige Operation auf jedem Element ausführen können. Hier ist ein Beispiel, das eine laufende Summe berechnet:
prices = [10, 25, 15]
total = 0
prices.each do |price|
total += price
end
puts total # Ausgabe: 50Im Gegensatz zu for-Schleifen bleibt die Blockvariable in each innerhalb des Blocks enthalten, was Ihren Code sauberer und weniger anfällig für unerwartetes Verhalten macht.
Aufgabe
EinfachLies eine einzelne Eingabezeile ein, die durch Kommas getrennte Ganzzahlen enthält (z. B. 4,7,2,9,5).
Teile die Eingabe in ein Array von Ganzzahlen auf und verwende dann den each-Iterator, um:
- Jede Zahl multipliziert mit 3 in einer eigenen Zeile auszugeben
- Die Summe aller Zahlen zu berechnen und diese nach der Schleife auszugeben
Verwende eine Variable, die vor der Schleife mit 0 initialisiert wurde, um die Summe während der Iteration durch das Array zu akkumulieren.
Wenn die Eingabe zum Beispiel 4,7,2,9,5 ist, sollte die Ausgabe wie folgt aussehen:
12
21
6
27
15
Sum: 27Wenn die Eingabe 10,20,30 ist, sollte die Ausgabe wie folgt aussehen:
30
60
90
Sum: 60Wenn die Eingabe 1,2,3,4 ist, sollte die Ausgabe wie folgt aussehen:
3
6
9
12
Sum: 10Wenn die Eingabe 5 ist, sollte die Ausgabe wie folgt aussehen:
15
Sum: 5Spickzettel
Der each-Iterator ist die bevorzugte Ruby-Methode, um durch Arrays zu iterieren:
fruits = ["apple", "banana", "cherry"]
fruits.each do |fruit|
puts fruit
endDie Variable zwischen den Pipes (|fruit|) ist eine Blockvariable, die vorübergehend jedes Element enthält.
Verwenden Sie für einzeilige Blöcke geschweifte Klammern:
numbers = [1, 2, 3]
numbers.each { |n| puts n * 2 }Sie können Operationen an jedem Element durchführen, wie zum Beispiel die Berechnung einer laufenden Summe:
prices = [10, 25, 15]
total = 0
prices.each do |price|
total += price
end
puts total # Ausgabe: 50Probier es selbst
# Lies die durch Kommas getrennten Ganzzahlen ein
input = gets.chomp
# Teile die Eingabe in ein Array von Ganzzahlen auf
numbers = input.split(",").map(&:to_i)
# Initialisiere die Summenvariable
sum = 0
# TODO: Schreibe deinen Code unten
# Verwende den each-Iterator, um:
# 1. Jede Zahl multipliziert mit 3 auszugeben
# 2. Jede Zahl zur Summenvariable zu addieren
# Gib die endgültige Summe aus
puts "Sum: #{sum}"Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4Operatoren Teil 2
Logische Operatoren Teil 1Logische Operatoren Teil 2Wiederholung – Einfache LogikLogische Operatoren Teil 3Logische Operatoren Teil 47Rechnungs-Splitter
WillkommensnachrichtBenutzereingaben abfragen10FizzBuzz mit Twist
SpielübersichtDie FizzBuzz-Methode13Arrays für Fortgeschrittene
Array Slicing mit BereichenArray Slicing mit IndizesArray-OperatorenInclude? Methode2Variablen und Datentypen
Zahlen und VariablenDatentyp StringDatentyp BooleanDatentyp SymbolDatentypen prüfenBenennungskonventionenZusammenfassung – Erstellung von Variablen5Entscheidungsfindung
If-AnweisungIf - ElseWiederholung - Einfacher TaschenrechnerVerschachtelte If - Else-AnweisungenUnless-Anweisung8Schleifen
For-Schleife mit RangesWhile-SchleifeBreakNextRückblick - FakultätTimes-SchleifeUntil-SchleifeVerschachtelte SchleifenRückblick - Dynamische Eingabe3Operatoren Teil 1
Arithmetische OperatorenModulo-OperatorArithmetische AbkürzungenWiederholung – Einfache MathematikVergleichsoperatoren6Grundlagen Ein- und Ausgabe
Ausgabe mit putsAusgabe mit print und pAusgabe mit VariablenEingabe mit getsChomp-MethodeTypumwandlungWiederholung - AltersrechnerWiederholung - Wahr oder Falsch