[Ruby]max_byで配列(array)の最大値を取得するには?

Ruby

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

max_byメソッドで配列(Array)の最大値を取得する方法を紹介します。

スポンサーリンク

方法

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

max_byメソッドで配列(Array)の最大値を取得するには、ブロックを使います。

まず、配列からmax_byメソッドを呼び出します。

max_byメソッドに、1つの引数を持つブロックを渡します。

そして、ブロックで配列の要素同士で比較する値を返します。

#arr=対象の配列, {}内で比較対象を戻り値として返す
max = arr.max_by { |item| item }

上記のmax_byメソッドは、呼び出した配列(array)の比較対象の最大値を取得します。

max_byのブロックの引数は、配列の要素を取得します。

使用例

numbers = ["1", "2", "3", "10", "4", "5"]

max = numbers.max_by { |item| item.to_i }

puts max
puts max.class
出力:
10
String

コメント

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