Ruby_Array_27

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

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

インスタンスメソッド

first -> object | nil
  • 配列の先頭の要素を返す
    • 要素がなければnilを返す
irb(main):001:0> %w[a b c].first
=> "a"

irb(main):002:0> [].first
=> nil
first(n) -> Array
  • 先頭のn要素を配列で返す
    • nは0以上である必要がある
      • 0未満である場合、ArgumentError
      • 整数以外の(暗黙の型変換が行えない)オブジェクトを指定した場合、TypeError
irb(main):001:0> %w[a b c].first(1)
=> ["a"]

irb(main):002:0> %w[a b c].first(2)
=> ["a", "b"]

irb(main):003:0> %w[a b c].first(3)
=> ["a", "b", "c"]

irb(main):004:0> %w[a b c].first(4)
=> ["a", "b", "c"]

irb(main):005:0> %w[a b c].first(0)
=> []
irb(main):001:0> %w[a b c].first(1.1)
=> ["a"]

irb(main):002:0> %w[a b c].first('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 `first'
TypeError (no implicit conversion of String into Integer)

irb(main):003:0> %w[a b c].first(-1)
Traceback (most recent call last):
        6: from /Users/mfham/.rbenv/versions/3.0.0/bin/irb:23:in `<main>'
        5: from /Users/mfham/.rbenv/versions/3.0.0/bin/irb:23:in `load'
        4: 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)>'
        3: from (irb):2:in `<main>'
        2: from (irb):3:in `rescue in <main>'
        1: from (irb):3:in `first'
ArgumentError (negative array size)

メモ

  • firstメソッドに引数を指定できることを今知った