Rails 3: Multiplizieren Sie alle Elemente eines Arrays

7

Nehmen wir an, ich habe ein Array A = [1, 2, 3, 4, 5]

Wie kann ich alle Elemente mit Ruby multiplizieren und das Ergebnis erhalten? 1 * 2 * 3 * 4 * 5 = 120

und was, wenn es ein Element 0 gibt? Wie kann ich dieses Element ignorieren?

    
Mexxer 13.08.2011, 14:02
quelle

4 Antworten

21

Dies ist der Lehrbuchfall für inject (auch reduce genannt)

%Vor%

Wie unten vorgeschlagen, um eine Null zu vermeiden,

%Vor%     
DGM 13.08.2011, 14:05
quelle
1

Es gibt auch eine andere Möglichkeit, diese Fakultät zu berechnen! Wenn Sie möchten, können Sie definieren, was auch immer Ihre letzte Nummer als n ist.

In diesem Fall n = 5 .

Von dort würde es ungefähr so ​​gehen:

%Vor%

Damit erhalten Sie 120 . Auch .reduce() funktioniert auf die gleiche Weise.

    
DGG 06.09.2013 19:18
quelle
0

Nun, das ist ein Pseudo-Weg, aber es funktioniert:)

%Vor%     
Uğur Mutlu 26.09.2015 13:13
quelle
0

Wenn Sie später Ihren Code verstehen möchten, verwenden Sie Folgendes: Angenommen, A = 5, ich habe n anstelle von A

verwendet %Vor%

Um es voranzubringen, würdest du:

%Vor%     
Mohammad 04.11.2016 11:40
quelle

Tags und Links