ruby-on-rails - 如何计算哈希ruby中数组的总和

标签 ruby-on-rails arrays ruby hash

嗨,我正在用我的数据创建一个 json 文件,我需要在将其保存到数据库之前计算时间

我将该散列分配给一个变量有效载荷并尝试这样做但它返回一个错误 TypeError(没有将符号隐式转换为整数):

total_hours = @payload.sum{|activity| activity[:hours].to_f}

转换为 json 之前的哈希

{:activities=>
  [{:project=>1,
    :activity=>"my activity",
    :hours=>0.2e1,
    :date=>Sat, 10 Aug 2019 00:00:00 UTC +00:00},
   {:project=>2,
    :activity=>"Tester",
    :hours=>0.2e1,
    :date=>Thu, 01 Aug 2019 00:00:00 UTC +00:00},
   {:project=>2,
    :activity=>"Tester",
    :hours=>0.3e1,
    :date=>Thu, 01 Aug 2019 00:00:00 UTC +00:00}]}

我需要对散列内的数组的小时数求和。谢谢

最佳答案

如果您使用的是 Rails,这里有一个简短的方法:

@payload[:activities].pluck(:hours).reduce(:+)

关于ruby-on-rails - 如何计算哈希ruby中数组的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57488374/

相关文章:

ruby-on-rails - yaml 格式是否有命名约定?

ruby-on-rails - 在 Rails 中为多态关联创建表单

javascript - 使用 ramda 展平各种数组

ruby-on-rails - rails 4密码确认ca

ruby - rbenv 安装的 ruby​​ 2.1.2 无法加载这样的文件——MAC OSX 10.9.2 上的 zlib

javascript - 导轨 4 : Turbolinks sends request twice and reloads the page

ruby-on-rails - "bash: bundle: command not found"- 上限中止

ruby-on-rails - 在 `lambda' : tried to create Proc object without a block (ArgumentError)

python - 将二维数组中的每个值乘以另一个二维数组中的对应值

c - 返回指向数组的指针的函数中的段错误