我想知道发生了什么。
当我执行以下操作时:
new_struct = OpenStruct.new()
new_struct.color = 'Red'
new_struct.number = 4
这导致:
#<OpenStruct color="Red", number=4>
如果我然后创建并更改一些参数:
params = { first: new_struct.marshal_dump }
params[:first][:color] = 'Orange'
这导致 OpenStruct 更改为:
#<OpenStruct color="Orange", number=4>
如果我更改参数哈希,为什么这个 OpenStruct 会改变?有没有办法在不更改 OpenStruct 的情况下更改参数哈希?
谢谢!