first
最初の要素を返す。それだけ。
[5,4,3,2,1].first
# => 5
last
最後の要素を返す。それだけ。
[5,4,3,2,1].last
# => 1
begin
範囲の中で、最初の要素を返す。(*2)
first の Range 版みたいな感じだ。
(5..1).begin
# => 5
実は begin は first と同じだ。どちらでも書ける。(*1)
(5..1).first
# => 5
しかし普通の配列に begin は使えない。
[5,4,3,2,1].begin
# => NoMethodError: undefined method `begin' for [5, 4, 3, 2, 1]:Array
end
範囲の中で、最後の要素を返す。(*2)
Range版の last みたいな感じだ。
(5..1).end
# => 1
実は end は last と同じだ。どちらでも書ける。(*1)
(5..1).last
# => 1
しかし普通の配列に end は使えない。
[5,4,3,2,1].end
# => NoMethodError: undefined method `end' for [5, 4, 3, 2, 1]:Array
min
配列の中で、最も小さな要素を返す。
要素の順序は関係ない。
[5,4,-3,2,1].min
# => -3
max
配列の中で、最も大きな要素を返す。
要素の順序は関係ない。
[5,4,30,2,1].max
# => 30
注釈
-
*1) 厳密には引数を取る、取らないの違いがある。引数を渡さない場合は同じ動作になる。
-
*2) Range の「最初の要素」は始端。「最後の要素」は終端と言った方が適切だ。Rubyの「範囲」の扱いはわりと複雑なので、この記事のコメントを参照してほしい。
チャットメンバー募集
何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。
メンター受付