如果需要过滤掉值,如何将max_by与可枚举一起使用?

时间:2011-06-05 17:43:40

标签: ruby-on-rails ruby

我该怎么做?现在,当用户是男性时,它会创建零值,然后< ==>操作失败。

@user.max_by{|user_id, user| user.height if user.female?}

1 个答案:

答案 0 :(得分:3)

您可以将这些链接在一起,因此在汇总之前进行选择

@user.select{|user| user.female?}.max_by{|user_id, user| user.height}

另外,你应该能够简化(只是一点点语法糖):

@user.select(&:female?).max_by(&:height)