如何防止功能修改?

时间:2016-04-12 14:11:11

标签: ruby-on-rails ruby

我有下一个def:

def get_smth
    return @mySmth
end

如何通过它或通过它返回的对象无法修改内容?

我想过吸气剂和制定者,但这是一个解决方案吗?

1 个答案:

答案 0 :(得分:1)

  

无法通过它修改内容

请勿修改其中的内容。

  

无法通过它返回的对象修改内容

根本不返回对象,或返回对象的深层副本。由@mySmth.dup / @mySmth.clone返回的浅拷贝可能不足以用于深层嵌套的对象。