• 締切済み

Ruby sortメソッド

RubyのEnemuratableモジュール内で定義されているメソッドのひとつsort メソッドの使い方が良くわかりません。 ブロックや<=>演算子を用いて何か分かりやすい例はありますでしょうか?

みんなの回答

  • ki073
  • ベストアンサー率77% (491/634)
回答No.1

例をあげますと ary=[17, 5, -4] p ary.sort p ary.sort{|a, b| a <=>b} # これはary.sortと同じです。 a<=>b自体はa==bで0, a<bで-1, a>bで1をとる演算子ですのでブロックの中に同し挙動をする式を入れてやれば良いです。 しかし、この形式はまず使いません。 p ary.sort_by{|a| a} # ary.sortと同じ p ary.sort_by{|a| -a} # 大きい方から並ぶ p ary.sort_by{|a| a%3} # 余の小さい方から並ぶ こちらの方が便利ですし、高速な処理ができます。

関連するQ&A