select
で作成されたハッシュからしようとすると、奇妙な動作が発生しgroup_by
ます:
私が走るとき
all_records.group_by(&:opportunity).map{|foo| foo[1].length != 1 }.select{|x| x}
私はいくつかの要素を取り戻します:=> [true, true]
しかし、私が選択しようとすると、正確なブロックで次のようになりますmap
。
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]
コマンドを完全に認識したことを示しているので、私には奇妙です。これは何が原因ですか?