Ruby sortメソッドでいろいろソートする(sort, sort!, sort_by, 降順, reverse)

こんちは!

編集長です!

今回はRubyのsortについて見ていきたいと思います。

一概にsortと言っても

  • 単純なソート
  • 降順にソート
  • 条件を指定してのソート

など様々なソート方法がありますよね?

そこで今回は

  • 単純なソート(sort)
  • 破壊的メソッド(sort!)
  • 降順にソート(reverse)
  • 任意の条件でソート(sort_by)

の5つの項目に分けてsortについて見ていきます!

それでは行ってみましょう!

単純なソート (sort)

まずは単純なソートをソートを行うためのメソッド、「sortメソッド」について見ていきましょう。

sortメソッドは、配列の要素を昇順に並び替えるメソッドです。

このように、配列の要素である数字が並び替えられていることがわかります。

 

配列の中身が文字列でも

このように辞書順にソートされていることがわかります。

 

編集長

文字列も数字も勝手に判別してソートしてくれるとか!

Rubyさんさすがっす!

破壊的メソッド (sort!)

sortには破壊的メソッドである、「sort!メソッド」が用意されています。

このようにレシーバが変更されていることがわかります。

 

編集長

明示的に破壊的メソッドとして利用できるので、使い分けをきっちりしよう!

降順にソート(reverse)

sortメソッドはデフォルトでは昇順のソートですが、降順にソートする方法もあります。

降順にソートするときに使うメソッドがreverseメソッドです。

このように、降順にソートできていることがわかります。

 

編集長

reverseメソッドは、配列を逆順に並べ替えるためのメソッドです。

直感的にメソッドチェーンできるのもRubyの良いところっすね!

任意の条件でソート(sort_by)

最後に任意の条件でソートする方法について見ていきます。

「sort_byメソッド」を使用することで、ブロックに書いた任意の条件で要素を並び替えることができます。

今回の場合、「sizeメソッド」を使用して、文字列の長さで並び替えを行いました。

 

編集長

ブロックで記述できると複雑な条件でも指定できるのでgoodですね!!

4980円のプログラミングスクール

プログラミングスクールに通いたいけど

  • 「値段が高すぎる」
  • 「実力がつくか不安」
  • 「しっかりした先生に教えてもらえるか不安」

と思ったことはありませんか?

 

でもそんなあなたの悩みは一気に解決するんです。

「月額4980円で現役フリーランスエンジニアに質問し放題なプログラミングスクール」

を作りました。

 

人数に限りがありますのでお申し込みはお早めに。

 

コメントを残す

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