sort と sort_by の違い

array.sort { |a, b| a.hoge <=> b.hoge }

array.sort_by { |v| v.hoge }

ブロックを使った場合、sort では比較の回数だけブロックが実行されるのに対し、sort_by では要素の数だけブロックが実行されるため、実行速度の点で有利。

参考:

sort + ブロックではなくsort_by + ブロックを使おう – Qiita

sort

参考:

instance method Array#sort (Ruby 2.6.0)

instance method Enumerable#sort (Ruby 2.6.0)

sort_by / sort_by!

参考:

instance method Enumerable#sort_by (Ruby 2.6.0)

instance method Array#sort_by! (Ruby 2.6.0)

タグ:

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です