小编Jor*_*anC的帖子

Sum ruby​​哈希值

我试图从ruby散列中求和值,但使用inject或reduce不会返回正确的答案.看起来这些方法似乎覆盖了存储的当前值而不是对它们求和.

我的哈希看起来像这样:

@test = [
  {"total"=>18, "type"=>"buy", "date"=>Thu, 21 Nov 2013, "instrument_code"=>"food"},
  {"total"=>92, "type"=>"buy", "date"=>Thu, 14 Nov 2013, "instrument_code"=>"food"},
  {"total"=>12, "type"=>"buy", "date"=>Wed, 20 Nov 2013, "instrument_code"=>"drink"},
  {"total"=>1, "type"=>"buy", "date"=>Mon, 11 Nov 2013, "instrument_code"=>"food"}
]
Run Code Online (Sandbox Code Playgroud)

这是我的注入代码失败:

def additions_per_security
  @test.group_by { |i| i.type }.each do |key, value|
    if key == "buy"
      value.group_by{ |i| i.date }.each do |key, value|
        @sortable_additions[key] = value
      end
      @sorted_additions = @sortable_additions.sort_by { |key,value| key }
      @sorted_additions.shift
      @additions_per_security = Hash[@sorted_additions.map { |key, value| 
       [key, value]
      }]
      @additions_per_security.each do |key, …
Run Code Online (Sandbox Code Playgroud)

ruby hash reduce inject

5
推荐指数
2
解决办法
1万
查看次数

标签 统计

hash ×1

inject ×1

reduce ×1

ruby ×1