Rubyリファレンス: Home

shift (Array)

Edit   History

標準クラス・モジュール > Array > shift

array.shift

shiftメソッドは、配列の最初の要素を削除し、その要素を返します。レシーバ自身を変更するメソッドです。配列が空のときはnilを返します。

次の例は、配列の先頭にunshiftメソッドで文字列"elephant"を追加し、shiftメソッドで取り除きます。

animals = ["dog", "cat", "mouse"]
animals.unshift("elephant")
p animals
p animals.shift
p animals
["elephant", "dog", "cat", "mouse"]
"elephant"
["dog", "cat", "mouse"]
array.shift(num)

Ruby 1.8.7 Ruby 1.8.7と1.9では、shiftメソッドの引数に整数を指定すると、配列の先頭からその数だけ要素を取り除きます。戻り値は、取り除いた要素からなる配列です。要素数より大きい数を指定すると、エラーは出さずに要素をすべて取り除きます。

次の例では、配列の先頭にunshiftメソッドで文字列を3つ追加し、shiftメソッドで2つ削除します。

animals = ["dog", "cat", "mouse"]
animals.unshift("elephant", "zebra", "giraffe")
p animals
p animals.shift(2)
p animals
["elephant", "zebra", "giraffe", "dog", "cat", "mouse"]
["elephant", "zebra"]
["giraffe", "dog", "cat", "mouse"]

関連項目