【问题标题】:delete_if/select Array of Objects by passing in hashdelete_if/通过传入哈希选择对象数组
【发布时间】:2013-08-06 21:07:02
【问题描述】:

我有一个对象数组 (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),但这只是给了我一个空哈希数组。

【问题讨论】:

    标签: ruby hashmap


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-30
      • 1970-01-01
      • 2010-11-26
      • 1970-01-01
      • 2015-10-21
      • 2012-09-17
      相关资源
      最近更新 更多