如何更新OpenStruct
满足条件时的值?我是这样想的:
o = OpenStruct.new(a: 1, b: 2)
o.each_pair{|k,v| v = 3 if v.even? }
但是这段代码不起作用。
我可以通过此代码进行更新,但很难阅读。
OpenStruct.new(o.each_pair.map{|k,v| [k, v.even? ? 3 : v] }.to_h)
有没有更好的方法来OpenStruct
按条件更新值?
如何更新OpenStruct
满足条件时的值?我是这样想的:
o = OpenStruct.new(a: 1, b: 2)
o.each_pair{|k,v| v = 3 if v.even? }
但是这段代码不起作用。
我可以通过此代码进行更新,但很难阅读。
OpenStruct.new(o.each_pair.map{|k,v| [k, v.even? ? 3 : v] }.to_h)
有没有更好的方法来OpenStruct
按条件更新值?