Rubyリファレンス: Home

shift (Hash)

Edit   History

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

hash.shift

shiftメソッドは、ハッシュからキーと値を1組削除します。削除したキーと値を配列にして返します。レシーバ自身を変更するメソッドです。

scores = { "Alice" => 50, "Bob" => 60, "Carol" => 90, "David" => 40 }
key, val = scores.shift
puts "#{key} and #{val} deleted"
key, val = scores.shift
puts "#{key} and #{val} deleted"
p scores
Alice and 50 deleted
David and 40 deleted
{"Carol"=>90, "Bob"=>60}     (Ruby 1.8の場合)

Ruby 1.9のハッシュは順番を持っており、shiftメソッドは先頭から順にキーと値を削除します。

Alice and 50 deleted
Bob and 60 deleted
{"Carol"=>90, "David"=>40}   (Ruby 1.9の場合)

関連項目