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