[Ruby]配列(array)の要素同士で掛け算して積を求めるには?

Ruby

どうも、ちょげ(@chogetarou)です。

配列(array)の要素同士で掛け算して積を求める方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

配列(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

使用例

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 }

コメント

タイトルとURLをコピーしました