Ruby Recipe139 最小値・最大値を求める
配列の中の最大値や最小値、または最小値と最大値を求める関数。
ary = [-1, 3, 101, -235] # 最小値を求める p ary.min #=> -235 # 最大値を求める p ary.max #=> 101 # 最大と最小を求める p ary.minmax #=> [-235, 101]
要素同士の大小関係の判定には <=> 演算子が使われているので、
ブロックでそれを書けば同じようにできます。
ary = [-1, 3, 101, -235] # 最小値を求める p ary.min{ |a, b| a.to_i <=> b.to_i } #=> -235 # 最大値を求める p ary.max{ |a, b| a.to_i <=> b.to_i } #=> 101 # 最大と最小を求める p ary.minmax{ |a, b| a.to_i <=> b.to_i } #=> [-235, 101]
また min_by メソッドや max_by メソッドなんかもあります。
詳しくはリファレンスを。
http://doc.ruby-lang.org/ja/1.9.3/class/Enumerable.html
- 作者: 青木峰郎,後藤裕蔵,高橋征義,まつもとゆきひろ
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2010/08/28
- メディア: 単行本
- 購入: 4人 クリック: 80回
- この商品を含むブログ (27件) を見る