使用Proc with ruby hash merge结果
我试图通过使用Procs来干掉我的代码。 我有很多行看起来像这样(其他行可能有费用,折扣,税收,而不是收入):
h.merge!({revenue: 500}){|key, old_val, new_val| old_val + new_val}
我试着写一个看起来像这样的Proc:
hproc = Proc.new {|key, old_val, new_val| old_val + new_val}
通过这样做简化第一行:
h.merge!({revenue: 500})(&hproc)
但是,我得到错误:
syntax error, unexpected '(', expecting end-of-input h.merge!({revenue:600})(&hproc) ^
h.merge!({revenue: 500}, &hproc)