Iterieren durch ein Ruby-Array
-
Durchlaufen Sie ein Ruby-Array mit der
each
-Methode -
Durchlaufen Sie ein Ruby-Array mit der
for
-Schleife -
Durchlaufen Sie ein Ruby-Array mit der Methode
reverse_each
-
Durchlaufen Sie ein Ruby-Array mit der Methode
each_with_index
-
Durchlaufen Sie ein Ruby-Array mit der
map
-Methode -
Durchlaufen Sie ein Ruby-Array mit der
select
-Methode -
Iterieren Sie mit der
reject
-Methode durch ein Ruby-Array
Die Array-Klasse in Ruby enthält das Mixin Enumerable und hat daher mehrere transversale Methoden. In diesem Tutorial werden wir uns diese aufzählbaren Methoden und andere Möglichkeiten zum Durchlaufen eines Arrays in Ruby ansehen.
Durchlaufen Sie ein Ruby-Array mit der each
-Methode
Dies ist der am häufigsten verwendete Iterator in Ruby.
Beispielcodes:
fruits = ['Orange', 'Apple', 'Banana']
fruits.each do |fruit|
puts fruit
end
Ausgabe:
Orange
Apple
Banana
Durchlaufen Sie ein Ruby-Array mit der for
-Schleife
Diese Methode kann unerwünschte Nebenwirkungen haben und wird daher nicht empfohlen.
Beispielcodes:
fruits = ['Orange', 'Apple', 'Banana']
for fruit in fruits
puts fruit
end
Ausgabe:
Orange
Apple
Banana
Wenn im obigen Beispiel zuvor eine fruit
-Variable definiert worden wäre, würde die for
-Schleife diese mit dem letzten Element des fruits
-Arrays überschreiben. Es handelt sich um ein Bereichsproblem, und das Verhalten wird unten veranschaulicht.
Beispielcodes:
fruit = 'Mango'
fruits = ['Orange', 'Apple', 'Banana']
for fruit in fruits
puts fruit
end
puts fruit
Ausgabe:
Orange
Apple
Banana
Banana
Durchlaufen Sie ein Ruby-Array mit der Methode reverse_each
Wie der Name schon sagt, funktioniert dies wie die each
-Methode, aber in umgekehrter Reihenfolge.
Beispielcodes:
fruits = ['Orange', 'Apple', 'Banana']
fruits.reverse_each do |fruit|
puts fruit
end
Ausgabe:
Banana
Apple
Orange
Durchlaufen Sie ein Ruby-Array mit der Methode each_with_index
Diese Methode ist in einer Situation nützlich, in der Sie jedes Element eines Arrays und den Index abrufen müssen.
Beispielcodes:
fruits = ['Orange', 'Apple', 'Banana']
fruits.each_with_index do |fruit|
puts "#{index}. #{fruit}"
end
Ausgabe:
0. Orange
1. Apple
2. Banana
Obwohl die obigen Beispiele die einfachste Art der Iteration durch ein Array demonstrieren, sind die Methoden normalerweise praktisch, wenn Sie ein Array durchlaufen und einige Operationen an jedem seiner Elemente ausführen müssen - zum Beispiel das Durchlaufen einer Liste von E-Mail-Adressen und Senden einer Nachricht an jeden von ihnen.
Die verbleibenden Methoden, die wir in diesem Tutorial erwähnen werden, unterscheiden sich ein wenig von den oben genannten in dem Sinne, dass sie ein Array in ein anderes umwandeln.
Durchlaufen Sie ein Ruby-Array mit der map
-Methode
Es ist nützlich, wenn Sie jedes Element eines Arrays ändern und als neues Array haben möchten.
Beispielcodes:
numbers = [2, 4, 6]
doubles = numbers.map do |n|
n * 2
end
puts doubles
Ausgabe:
[4, 8, 12]
Beachten Sie, dass es auch eine collect
-Methode gibt, einen Alias für map
, und beide verhalten sich gleich.
Durchlaufen Sie ein Ruby-Array mit der select
-Methode
Wie der Name schon sagt, können Sie mit der select
-Methode nur bestimmte Elemente eines Arrays auswählen, die eine bestimmte logische Bedingung erfüllen. Es erzeugt auch ein neues Array.
Beispielcodes:
numbers = [2, 3, 4, 5, 6, 7, 8, 9]
perfect_squares = numbers.select do |n|
Math.sqrt(n) % 1 == 0
end
puts perfect_squares
Ausgabe:
[4, 9]
Beachten Sie, dass es auch eine find_all
-Methode gibt, die ein Alias für select
ist, und beide verhalten sich gleich.
Iterieren Sie mit der reject
-Methode durch ein Ruby-Array
Die Methode reject
ist das Gegenteil von select
und ist nützlich, wenn Sie bestimmte Elemente eines Arrays ablehnen und die verbleibenden als neues Array zurückgeben müssen.
Beispielcodes:
numbers = [-2, -1, 0, 1, 2, 3]
positive_integers = numbers.reject do |n|
n < 1
end
puts positive_integers
Ausgabe:
[1, 2, 3]