Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
当我需要从 C# 或 Java 中的类返回不可变集合时,我将其作为 IEnumerable 接口返回。Ruby 中的标准方法是什么?克隆?冻结?
如果您想在RuntimeError尝试修改时提出问题,请使用freeze(). 如果你只想阻止调用者修改你的数据,那么clone()是一个不错的选择。
RuntimeError
freeze()
clone()
请记住,freeze() 可能不会像您期望的那样工作。
就个人而言,我从来不需要freeze(),但clone()通常很有用。