当前位置:  开发笔记 > 编程语言 > 正文

如何测试Ruby对象是否不可变?

如何解决《如何测试Ruby对象是否不可变?》经验,为你挑选了1个好方法。

有没有一种简单的方法来测试对象是否是不可变的(数字,零)或不是(数组,哈希,对象)?换句话说,它可以被其他代码的副作用改变吗?

动机:我想创建一个版本化的值存储,但有些数据是数组.一些数组将存储自定义对象,我可以通过存储"in"属性并搜索它来反转关系.但我也希望能够存储符号数组,其他数组等.



1> Justin Love..:

我找到了一种效率低下的方法:

class Object
  def primitive?
    begin
      self.dup
      false
    rescue TypeError
      true
    end
  end
end

推荐阅读
手机用户2402852307
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有