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