LoginSignup
0
0

More than 1 year has passed since last update.

Rubyでソートする方法

Last updated at Posted at 2021-10-19

Sortメソッドについてまとめます

Rubyを学習中にソートする機会があったので、備忘録として投稿します。

ソートとは?

特定のルールに従ってデータを並べること。

たとえば?

たとえば

  • 数字を大きい(小さい)順に並べる
  • 名前を五十音順に並べる
  • Qiitaの記事を古い(新しい)順に並べる

などがあります。
学生時代の「背の順」や「出席番号順」といった懐かしいものもありますね。

sortメソッド

配列の内容をソートするメソッド。
Array#sortのドキュメントによるとによると

ブロックとともに呼び出された時には、要素同士の比較をブロックを用いて行います。ブロックに2つの要素を引数として与えて評価し、その結果で比較します。ブロックは <=> 演算子と同様に整数を返すことが期待されています。つまり、ブロックは第1引数が大きいなら正の整数、両者が等しいなら0、そして第1引数の方が小さいなら負の整数を返さなければいけません。両者を比較できない時は nil を返します。

とのこと。

基本構文

sortメソッドは配列やハッシュに対して使うことができます。

配列.sort
ハッシュ.sort

返り値は特定のルールに従って並び替えた新たに生成された配列です。

実際に書いてみる

irb(main):001:0 > [3, 1, 2, 6, 9, 4].sort
=> [1, 2, 3, 4, 6, 9] # デフォルトでは昇順に並び替えられる

こんなプログラムを書くときに使える

3つの整数を読み込み、それらを値が小さい順に並べて出力するプログラム

puts gets.split(" ").map(&:to_i).sort.join(" ")
# 4 9 3
# => 3 4 9

参考にした情報

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0