Underscore在ruby中的选择方法

Fun*_*bat 3 ruby ruby-on-rails underscore.js

我想用类似的东西

hash.pick('prop1', 'prop2')
Run Code Online (Sandbox Code Playgroud)

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

所以它看起来像这样

{ prop1: 'asdf', prop2: 'qwer', prop3: 'uiop' }.pick( 'prop2', 'prop3' )
# equals { prop2: 'qwer', prop3: 'uiop' }
Run Code Online (Sandbox Code Playgroud)

Ere*_*bih 6

使用哈希切片方法,如:

hash.slice(:prop1, :prop2)
Run Code Online (Sandbox Code Playgroud)


Sim*_*tsa 5

Ruby的std lib中没有这样的方法。但是,Rails中的ActiveSupport提供了hash.slice:

require "active_support/core_ext/hash/slice"
{ prop1: 'asdf', prop2: 'qwer', prop3: 'uiop' }.slice(:prop2, :prop3)
Run Code Online (Sandbox Code Playgroud)