Summiere ein Array von Zahlen in Ruby
-
Benutze
Array#sum
um 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