我的目标是对名称和数字进行哈希处理,例如:
hash = {
"Matt" => 30,
"Dave" => 50,
"Alex" => 60
}
并根据他们是否达到“及格”分数对他们进行分组。我想结果,以作为数组传递到两个独立的按键,说:pass
和:fail
这样的:
hash = { "pass" => ["Alex", 60], "fail" => [["Matt", 30]["Dave",60]]}
我知道该group_by
方法是我所需要的,但是不确定如何将值传递到新键中。
合格分数应由用户决定。对于此示例,您可以使用45。
您可以通过以下方式进行处理:
PASSING_GRADE = 45
hash.group_by {|_, v| v >= PASSING_GRADE ? 'pass' : 'fail'}
结果如下:
{"fail"=>[["Matt", 30], "pass"=>[["Alex", 60], ["Dave", 50]]]}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句