[RUBY] [Rubiy] Vereinfache jedes mit Map und Inject

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.

Beim Erstellen eines neuen Arrays mit anderen Elementen aus einem vorhandenen Array

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]

Änderungen mit Instanzmethoden


#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

Bei der Berechnung der Summe der Elemente (Zahlen) eines Arrays

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

[Rubiy] Vereinfache jedes mit Map und Inject
Schreiben Sie Code mit Ruby-Klassen und -Instanzen
[Ruby] jeweils verschachtelt
Janken-Programm mit Ruby und seinem Test (Testeinheit)
Rubin und Edelstein
Ruby Map Methode
[Jeder, Karte ...] Ich habe die Array-Verarbeitung heute Abend verglichen [Ruby]
[Ruby] Klassen und Instanzen
Symbole und zerstörerischer Rubin
map, compactMap und flatMap
[Ruby] Big Decimal und DECIMAL
Ruby-Klassen und -Instanzen
Ruby-Vererbung und -Delegierung
Hash und jede Aussage
[Ruby on Rails] Unendliches Scrollen mit Gem Kaminari und Jscroll