Menu
Coddy logo textTech

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
end

Dies 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: 50

Im 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.

challenge icon

Aufgabe

Einfach

Lies 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:

  1. Jede Zahl multipliziert mit 3 in einer eigenen Zeile auszugeben
  2. 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: 27

Wenn die Eingabe 10,20,30 ist, sollte die Ausgabe wie folgt aussehen:

30
60
90
Sum: 60

Wenn die Eingabe 1,2,3,4 ist, sollte die Ausgabe wie folgt aussehen:

3
6
9
12
Sum: 10

Wenn die Eingabe 5 ist, sollte die Ausgabe wie folgt aussehen:

15
Sum: 5

Spickzettel

Der each-Iterator ist die bevorzugte Ruby-Methode, um durch Arrays zu iterieren:

fruits = ["apple", "banana", "cherry"]

fruits.each do |fruit|
  puts fruit
end

Die 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: 50

Probier 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}"
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Grundlagen