【发布时间】:2012-08-31 15:59:51
【问题描述】:
当我尝试从使用group_by 创建的哈希中select 时,我遇到了奇怪的行为:
当我跑步时
all_records.group_by(&:opportunity).map{|foo| foo[1].length != 1 }.select{|x| x}
我找回了一些元素:=> [true, true]
然而,当我尝试选择时,我的确切块是 mapped:
all_records.group_by(&:opportunity).select{|foo| foo[1].length != 1 }
我没有得到任何结果:=> {}
作为一个健全性检查,当我第一次使用 sort 将哈希转换为数组时,它按预期工作:
all_records.group_by(&:opportunity).sort.select{|foo| foo[1].length != 1 }.length
结果:=> 2
这对我来说很奇怪,因为第一个结果表明哈希完美地识别了foo[1] 命令。这是什么原因造成的?
【问题讨论】: