Iterieren durch ein Ruby-Array

Nurudeen Ibrahim 18 April 2022
  1. Durchlaufen Sie ein Ruby-Array mit der each-Methode
  2. Durchlaufen Sie ein Ruby-Array mit der for-Schleife
  3. Durchlaufen Sie ein Ruby-Array mit der Methode reverse_each
  4. Durchlaufen Sie ein Ruby-Array mit der Methode each_with_index
  5. Durchlaufen Sie ein Ruby-Array mit der map-Methode
  6. Durchlaufen Sie ein Ruby-Array mit der select-Methode
  7. Iterieren Sie mit der reject-Methode durch ein Ruby-Array
Iterieren 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]

Verwandter Artikel - Ruby Array