本文へスキップ
BecomeCoder

Rubyコース · 第3章 配列 · レッスン16

便利メソッド ― sum・min・max・sort・join・uniq

ブラウザで完結

導入

配列にはこの他にも「合計を求める」「最大値を探す」「並び替える」といった、よく使う操作がメソッドとして最初から用意されています。1つずつ自分で each を書かなくても済むので、覚えておくと便利です。

説明

numbers = [5, 3, 8, 1, 9]
puts numbers.sum
puts numbers.min
puts numbers.max
puts numbers.sort.inspect
puts numbers.join(", ")
puts [1, 1, 2, 2, 3].uniq.inspect
  • .sum は合計、.min/.max は最小値・最大値です。
  • .sort は昇順に並び替えた新しい配列を返します(元の配列は変わりません)。降順にしたいときは .sort.reverse.sort { |a, b| b <=> a } を使います。
  • .join(区切り文字) は配列の要素を文字列としてつなげます。
  • .uniq は重複を取り除いた配列を返します。

やってみよう

numbers の中身を変えて summinmaxsort の結果がどう変わるか確かめましょう。join の区切り文字も " - " など変えてみてください。

演習

配列 scores = [70, 90, 80] の合計を puts で表示してください(240)。

ヒント1を見る

puts scores.sum の1行で求められます。

ヒント2を見る

sum は配列の全要素を足し合わせます。

実際に動かしてみよう

下のエディタにRubyを書いて「実行」を押すと、学習用シミュレータが puts / print / p の出力を表示します(本物のRubyではなく、教材の範囲を再現した軽量な自作エンジンです)。配列・ハッシュ・ブロック(each/map/select)・メソッド・クラス・モジュール・例外なども動きます。本文の例を書き換えて動かしてみましょう(gem・Rails・ファイル入出力など一部の機能は対象外です。文字列を伸ばすときは str << も可能ですが、変数に反映されるのは str += です)。

Ruby — ブラウザ内で実行(学習用シミュレータ)

Rubyの教材サブセットを動かす学習用シミュレータを読み込みます(本物のRubyではなく、動きを再現した軽量な自作エンジンです)。
スクロールして表示された時点でも自動で読み込まれます。