Ruby on rails 在哈希中求上一个值的和
基本上,我得到了一个散列,我想将当前值与前一个值相加 i、 e 我所拥有的Ruby on rails 在哈希中求上一个值的和,ruby-on-rails,ruby,Ruby On Rails,Ruby,基本上,我得到了一个散列,我想将当前值与前一个值相加 i、 e 我所拥有的 hash = {:a=>5, :b=>10, :c=>15, :d=>3} 我想要的结果 {:a=>5, :b=>15, :c=>30, :d=>33} 以下内容将返回一个新的哈希实例: hash.each_with_object({}) { |(key, val), new_hash| new_hash[key] = val + (new_hash.values.la
hash = {:a=>5, :b=>10, :c=>15, :d=>3}
我想要的结果
{:a=>5, :b=>15, :c=>30, :d=>33}
以下内容将返回一个新的哈希实例:
hash.each_with_object({}) { |(key, val), new_hash| new_hash[key] = val + (new_hash.values.last||0) }
如果要保留原始散列,可以将每个\u与\u对象一起使用
:
hash.each_with_object({}) { |(k, v), h| h[k] = v + (h.values.last||0) }
# => {:a=>5, :b=>15, :c=>30, :d=>33}
小心你的ruby版本
hash.each_with_object({}) { |(k, v), h| h[k] = v + (h.values.last||0) }
# => {:a=>5, :b=>15, :c=>30, :d=>33}