Summiere ein Array von Zahlen in Ruby

Stewart Nguyen 30 Januar 2023
  1. Benutze Array#sum um ein Array von Zahlen in Ruby zu summieren
  2. Verwenden Sie Array#inject, um ein Array von Zahlen in Ruby zu summieren
  3. Verwenden Sie Array#each, um ein Array von Zahlen in Ruby zu summieren
Summiere ein Array von Zahlen in Ruby

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

Verwandter Artikel - Ruby Array