Summiere ein Array von Zahlen in Ruby
-
Benutze
Array#sumum ein Array von Zahlen in Ruby zu summieren -
Verwenden Sie
Array#inject, um ein Array von Zahlen in Ruby zu summieren -
Verwenden Sie
Array#each, um ein Array von Zahlen in Ruby zu summieren
In diesem Tutorial werden verschiedene Methoden zum Berechnen von Zahlen in einem Array erläutert.
Benutze Array#sum um ein Array von Zahlen in Ruby zu summieren
Array#sum ist nur in Ruby 2.4.0 und höher verfügbar.
[1, 2, 3].sum
Ausgabe:
6
Verwenden Sie Array#inject, um ein Array von Zahlen in Ruby zu summieren
Um die Summe eines Arrays in Ruby-Versionen vor 2.4.0 zu berechnen, müssen wir inject oder seinen Alias reduce verwenden.
inject ist eine Funktion, die einen Anfangswert und einen Block annimmt. Die Akkumulation ist das erste Blockargument und die aktuelle Zahl das zweite.
[1, 2, 3].inject(0) { |sum, num| sum += num }
Ausgabe:
6
Alternativ könnten wir statt inject auch reduce verwenden.
[1, 2, 3].reduce(0) { |sum, num| sum += num }
Ausgabe:
6
Wir könnten den gesamten Code verkürzen, indem wir das Symbol als Methodennamen übergeben, auf das jedes Element antwortet, in diesem Fall Methode +.
[1, 2, 3].inject(0, :+)
Ausgabe:
6
Verwenden Sie Array#each, um ein Array von Zahlen in Ruby zu summieren
each kann mit einer temporären Variablen verwendet werden. Es ist eine naive Strategie und wird nicht empfohlen.
sum = 0
[1, 2, 3].each { |num| sum += num }
puts sum
Ausgabe:
6