[Anfänger] Verschiedene iterative Verarbeitung für Ruby-Arrays

Ausführungsumgebung

Da es sich um einen sehr einfachen Inhalt handelt, denke ich, dass er nicht von der Ausführungsumgebung abhängt, aber ich werde ihn vorerst angeben. OS : macOS Catalina ver10.15.5 Ruby : 2.7.1p83

each

Grundlegende iterative Verarbeitung. Die Elemente werden einzeln herausgenommen und verarbeitet. Grundsätzlich ist es von do ~ end umgeben. Achten Sie auf den Umfang der Variablen.

sample.rb


numbers = [1, 2, 4, 5, 6]

total = 0
numbers.each do |num|
  total += num
end
p total # 18 

map

Das Feature ist, dass es ein Array zurückgibt. Die folgende Verarbeitung fügt dem Element 10 hinzu und gibt es aus. Für eine einfache Verarbeitung können Sie mit {} anstelle von do ~ end eingeben.

sample.rb


numbers = [1, 2, 4, 5, 6]

nuadd_num = numbers.map {|num| num + 10}

p add_num
# [11, 12, 14, 15, 16]

select

Die Werte, die mit der Beurteilung im Prozess übereinstimmen, werden als Array zurückgegeben.

sample.rb


numbers = [1, 2, 4, 5, 6]

numbers2 = numbers.select {|num| num % 2 == 0}

p numbers2
# [2, 4, 6]

reject

Werte, die nicht mit der Beurteilung im Prozess übereinstimmen, werden als Array zurückgegeben. Das Gegenteil von auswählen.

sample.rb


numbers = [1, 2, 4, 5, 6]

numbers2 = numbers.reject {|num| num % 2 == 0}

p numbers2
# [1, 5]

inject Faltvorgang. Die Elemente werden num bzw. i zugewiesen, und die Verarbeitung wird durchgeführt.

sample.rb


numbers = [1, 2, 4, 5, 6]

numbers2 = numbers.inject {|num, i| num + i}

#1. Schleife num= 1, i = 2
#Zweite Schleife num= 3, i = 4
#3. Schleife num= 7, i = 5
#4. Schleife num= 12, i = 6

p numbers2
# 18

Recommended Posts

[Anfänger] Verschiedene iterative Verarbeitung für Ruby-Arrays
Ruby iterativer Prozess
Ruby über verschiedene iterative Prozesse
Über Ruby-Arrays
Java iterativer Prozess
Ruby bedingte Verzweigungsverarbeitung
Ruby Verbindet mehrere Arrays
Java zufällig, verschiedene Verarbeitung
Verschiedene Ruby-String-Operationen
Integer # pow wird empfohlen, um die Quadratmethode in Ruby wiederholt zu lösen