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 for- oder while-Schleifen zu verwenden. 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 eigenen Zeile aus. Die Variable zwischen den senkrechten Strichen (|fruit|) wird Blockvariable genannt. Sie enthä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 mit durch Kommas getrennten Ganzzahlen ein (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 mit 3 zu multiplizieren und in einer eigenen Zeile auszugeben
- Die Summe aller Zahlen zu berechnen und sie nach der Schleife auszugeben
Verwende eine Variable, die vor der Schleife mit 0 initialisiert wird, um die Summe beim Durchlaufen des Arrays zu akkumulieren.
Wenn die Eingabe beispielsweise 4,7,2,9,5 lautet, sollte die Ausgabe folgendermaßen aussehen:
12
21
6
27
15
Sum: 27Wenn die Eingabe 10,20,30 lautet, sollte die Ausgabe folgendermaßen aussehen:
30
60
90
Sum: 60Wenn die Eingabe 1,2,3,4 lautet, sollte die Ausgabe folgendermaßen aussehen:
3
6
9
12
Sum: 10Wenn die Eingabe 5 lautet, sollte die Ausgabe folgendermaßen aussehen:
15
Sum: 5Probier 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 47Rechner zum Aufteilen der Rechnung
WillkommensnachrichtBenutzereingaben erfassen10FizzBuzz mit einer Wendung
SpielübersichtDie FizzBuzz-Methode13Arrays für Fortgeschrittene
Array-Slicing mit BereichenArray-Slicing mit IndizesArray-OperatorenInclude?-Methode2Variablen und Datentypen
Zahlen und VariablenString-DatentypBoolean-DatentypSymbol-DatentypDatentypen überprüfenNamenskonventionenWiederholung – Variablen erstellen5Entscheidungsfindung
If-AnweisungIf - ElseRückblick – Einfacher TaschenrechnerVerschachteltes If - ElseUnless-Anweisung8Schleifen
For-Schleife mit BereichenWhile-SchleifeBreakNextRückblick – FakultätTimes-SchleifeUntil-SchleifeVerschachtelte SchleifenRückblick – Dynamische Eingabe3Operatoren Teil 1
Arithmetische OperatorenModulo-OperatorArithmetische KurzschreibweisenRückblick – Einfache MathematikVergleichsoperatoren6Grundlegende Ein- und Ausgabe
Ausgabe mit putsAusgabe mit print und pAusgabe mit VariablenEingabe mit getsDie chomp-MethodeTypumwandlungWiederholung – AltersrechnerWiederholung – Wahr oder FalschÜbe selbstständig: Online-Ruby-Compiler