Ruby中Underscore的选取方法(pick method)

5

我想使用类似于以下的东西

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

与使用下划线选择方法相同(获取对象/哈希的属性并基于它们创建一个新的哈希表)

因此,它将如下所示

{ prop1: 'asdf', prop2: 'qwer', prop3: 'uiop' }.pick( 'prop2', 'prop3' )
# equals { prop2: 'qwer', prop3: 'uiop' }
2个回答

9

7

对于 Ruby 2.5 及以上版本,请使用内置的 hash.slice 方法。

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

这种方法最初是在Rails(ActiveSupport)中引入的,因此可以在较早的Ruby版本中在Rails环境中使用。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接