やったこと
Ruby で中央値を求める方法を調べました。
確認環境
$ ruby --version
ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-darwin17]
調査
今回は、facets という汎用メソッドが拡張されたものがあるので、それを使ってみます。
facets のインストール
$ gem install facets
インストールした facets のバージョン確認
$ gem list | grep facet
facets (3.1.0)
Math.median
test.rb
require 'facets/math'
a = [6, 3, 4, 9, 1, 2]
p Math.median(a)
出力結果
$ ruby test.rb
3.5
Array.median
test.rb
require 'facets/array/median'
b = [6, 3, 4, 9, 1, 2]
p b.median
出力結果
$ ruby test.rb
4
まとめ
配列が偶数個あった場合の挙動が変わります。 Math.median では平均値を出力してくれました。