Ruby_Array_35

この記事は、以下のドキュメントを改変(自分なりに整理)して利用しています。

class Array (Ruby 3.0.0 リファレンスマニュアル)

インスタンスメソッド

last -> object | nil
  • 配列の末尾の要素を返す
    • 配列が空のときはnilを返す
irb(main):001:0> %w[a b c].last
=> "c"

irb(main):002:0> [].last
=> nil
last(n) -> Array
  • 末尾のn要素を配列で返す
  • nは0以上でなければいけない
  • nに整数以外のオブジェクトを指定した場合はto_intメソッドによる暗黙の型変換を試み
  • 引数に整数以外の(暗黙の型変換が行えない)オブジェクトを指定した場合はTypeError、nが負値の場合はArgumentErrorが発生
irb(main):001:0> arr = %w[a b c]
=> ["a", "b", "c"]

irb(main):002:0> arr.last(0)
=> []

irb(main):003:0> arr.last(1)
=> ["c"]

irb(main):004:0> arr.last(3)
=> ["a", "b", "c"]

irb(main):005:0> arr.last(4)
=> ["a", "b", "c"]

# memo
# nが0のときはnilではなく空配列を返す
# nがレシーバーの要素数より大きい場合はエラーにならずに要素すべてを返す
irb(main):001:0> arr = %w[a b c]
=> ["a", "b", "c"]

irb(main):002:0> arr.last(-1)
Traceback (most recent call last):
        5: from /Users/mfham/.rbenv/versions/3.0.0/bin/irb:23:in `<main>'
        4: from /Users/mfham/.rbenv/versions/3.0.0/bin/irb:23:in `load'
        3: from /Users/mfham/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/gems/irb-1.3.0/exe/irb:11:in `<top (required)>'
        2: from (irb):2:in `<main>'
        1: from (irb):2:in `last'
ArgumentError (negative array size)