おもしろwebサービス開発日記

Ruby や Rails を中心に、web技術について書いています

Hash#slice

strong_parameters のソース読んでたら Hash#slice が使われていることに気づいて、「あれ、こんなメソッドあったっけ?」となり調べてみました。どうやら Rails(ActiveSupport) で hash を拡張しているようです。

引数の key だけを含む hash を返します。破壊的な Hash#slice! もあります。

hash = {a: 'hoge', b: 'fuga', c: 'foo'}
hash.slice(:b, :c) #=> {:b=>"fuga", :c=>"foo"}

Rails 2.1 から使えるようになっていたらしいです。全然知らなかった…。

Rails-2.1からHash#sliceが使えるようになった模様 - Hello, world! - s21g