Ruby笔记_clone和dup的区别

天大地大妈咪最大 提交于 2020-02-05 10:06:25

ruby 中 clone 和 dup 都是对一个对象的浅拷贝,其区别如下:
1.clone 会拷贝单例方法,而 dup 不会。

a = Object.new
def a.hello
    "hello"
end

a.dup.hello   # raises NoMethodError
a.clone.hello # return "hello"

2.dup 不能对 frozen 状态的对象进行拷贝,而 clone 可以。

上面引用:Ruby 中的 clone 和 dup 比较(https://ruby-china.org/topics/18922)

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!