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 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
end

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

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

Wenn die Eingabe 10,20,30 lautet, sollte die Ausgabe folgendermaßen aussehen:

30
60
90
Sum: 60

Wenn die Eingabe 1,2,3,4 lautet, sollte die Ausgabe folgendermaßen aussehen:

3
6
9
12
Sum: 10

Wenn die Eingabe 5 lautet, sollte die Ausgabe folgendermaßen aussehen:

15
Sum: 5

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

Übe selbstständig: Online-Ruby-Compiler