标签: ruby hash
This question声称您使用eval之类的黑客来更改作为参数传递的Hash。我期待这个结果:
eval
Hash
def change_hash(hash) hash[:non_existing_key] = :value end opts = {} change_hash(opts) opts # => {:non_existing_key => :value}
不可能,因为Hash应该按值复制到方法中。这是怎么回事?