3

のようなものを使いたい

hash.pick('prop1', 'prop2')

アンダースコアpickメソッドを使用するのと同じ方法(オブジェクト/ハッシュのプロパティを取得し、それらに基づいて新しいハッシュを作成します)

だからこのようになります

{ prop1: 'asdf', prop2: 'qwer', prop3: 'uiop' }.pick( 'prop2', 'prop3' )
# equals { prop2: 'qwer', prop3: 'uiop' }
4

2 に答える 2

7

次のようにハッシュスライスメソッドを使用します。

hash.slice(:prop1, :prop2)
于 2012-09-20T14:34:20.507 に答える
7

Ruby 2.5以降の場合は、組み込みのhash.sliceメソッドを使用します。

{ prop1: 'asdf', prop2: 'qwer', prop3: 'uiop' }.slice(:prop2, :prop3)

このメソッドはRails(ActiveSupport)で最初に導入されたため、Rails環境内の以前のバージョンのRubyで使用できました。

于 2012-09-20T14:37:59.233 に答える