instance method Array#shift

shift -> object | nil[permalink][rdoc][edit]
shift(n) -> Array

配列の先頭の要素を取り除いてそれを返します。引数を指定した場合はその個数だけ取り除き、それを配列で返します。

空配列の場合、n が指定されていない場合は nil を、指定されている場合は空配列を返します。また、n が自身の要素数より少ない場合はその要素数の配列を返します。どちらの場合も自身は空配列となります。

返す値と副作用の両方を利用して、個数を指定して配列を 2 分する簡単な方法として使えます。

[PARAM] n:
自身から取り除きたい要素の個数を非負整数で指定します。整数以外のオブジェクトを指定した場合は to_int メソッドによる暗黙の型変換を試みます。
[EXCEPTION] TypeError:
引数に整数以外の(暗黙の型変換が行えない)オブジェクトを指定した場合に発生します。
[EXCEPTION] ArgumentError:
引数に負の数を指定した場合に発生します。


a = [0, 1, 2, 3, 4]
p a.shift            #=> 0
p a                  #=> [1, 2, 3, 4]

p [].shift           #=> nil
p [].shift(1)        #=> []

[SEE_ALSO] Array#push, Array#pop, Array#unshift