Bei einigen Mustern ist die Implementierung möglicherweise einfacher, wenn eine andere Methode verwendet wird. Dieses Mal werde ich vorstellen, wie man für jedes Muster auf vereinfachte Weise schreibt.
Wir werden die map
Methode verwenden.
#Für jeden
list = (1..5).to_a
list_double = []
list.each do |i|
list_doubule << i * 2
end
p list_double # [2, 4, 6, 8, 10]
#Für Karte
list = (1..5).to_a
list_double = list.map{ |i| i* 2 }
p list_double # [2, 4, 6, 8, 10]
#Für jeden
array = ["a", "b", "c"]
array_up = []
array.each do |i|
array_up << i.upcase
end
p array_up # ["A", "B", "C"]
#Für Karte
array = ["a", "b", "c"]
array_up = array.map(&:upcase)
p array_up # ["A", "B", "C"]
.map{ |i| i.upcase }
Wird weiter weggelassen
Wir werden die Methode "injizieren (Anfangswert)" verwenden.
#Für jeden
list = (1..5).to_a
sum = 0
list.each do |i|
sum += i
end
p sum # 15
#Im Falle einer Injektion
list = (1..5).to_a
sum = list.inject(0){|i, j| i += j}
p sum # 15
Recommended Posts