10
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Ruby | first / last / begin / end / min / max の違い

Last updated at Posted at 2015-12-04

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オープンチャットもご利用ください。

メンター受付

10
9
5

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
10
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?