delete_if /通过传入哈希来选择对象数组

时间:2013-08-06 21:07:02

标签: ruby hashmap

我有一个对象数组(a),其中包含字段:state和:country。我还有h[:state] = "TN" h[:country] = "US"的哈希值。我知道我可以通过显式声明属性来使用select / delete_if:

a.select{ |l| l.state == h[:state] && l.country == h[:country] }

我的问题是,是否有一种方法可以像使用activeRecord查询那样传递哈希值?我试过了a.select(h),但这只是给了我一个空哈希数组。

1 个答案:

答案 0 :(得分:1)

假设a的每个元素都是Struct,您可以这样做:

a.select{|l| l.to_h == h}