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)
来源:CSDN
作者:lianluooo
链接:https://blog.csdn.net/zzzooo1/article/details/104178498