当我需要从 C# 或 Java 中的类返回不可变集合时,我将其作为 IEnumerable 接口返回。 Ruby 中的标准方法是什么?克隆?冻结?
如果您希望在尝试修改时引发
RuntimeError
freeze()
clone()
请记住,freeze() 可能不会像您期望的那样工作。它只保护表层不被改性,并且不会解冻。
就我个人而言,我从来不需要