どうも、ちょげ(@chogetarou)です。
配列(array)の要素同士で掛け算して積を求める方法を紹介します。
方法

配列(array)の要素同士で掛け算して積を求める方法は、2つあります。
injectメソッド
1つは、injectメソッドを使う方法です。
まず、配列からinjectメソッドを呼び出します。
そして、injectメソッドの引数に「:*
」を指定します。
#arr=対象の配列
result = arr.inject(:*)
上記のinjectメソッドは、呼び出した配列(array)の要素同士を掛け算して積を求めます。
使用例
numbers = [1, 2, 3, 4, 5]
result = numbers.inject(:*)
p result
出力:
120
ループ
もう1つは、ループを使う方法です。
まず、変数を用意します。
result = 1
次に、配列をループします。
ループ処理で、用意した変数に配列の要素を掛けます。
#arr=対象の配列
arr.each { |i| result *= i }
#for文の場合
for i in arr
result *= i
end
上記のループは、ループした配列(array)の要素同士を掛け算して積を求めます。
使用例1
numbers = [1, 2, 3, 4, 5]
result = 1
numbers.each { |i| result *= i }
p result
出力:
120
使用例2
numbers = [1, 2, 3, 4, 5]
result = 1
for i in numbers
result *= i
end
p result
出力:
120
まとめ
配列(array)の要素同士で掛け算して積を求める方法は、2つあります。
- injectメソッドを使う方法
result = arr.inject(:*)
- ループを使う方法
arr.each { |i| result *= i }
コメント