赞 | 1 |
VIP | 20 |
好人卡 | 8 |
积分 | 3 |
经验 | 6181 |
最后登录 | 2022-8-5 |
在线时间 | 271 小时 |
Lv2.观梦者 神隐的主犯
- 梦石
- 0
- 星屑
- 299
- 在线时间
- 271 小时
- 注册时间
- 2008-2-22
- 帖子
- 7691
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
帮助手册上是怎么说的
clone
dup
生成物件的副本。clone 返回对象的完整副本,包括冻结状态和特殊方法。而 dup 只有复制对象内容而已。
注意,clone 和 dup 执行的是简单复制。所复制的是对象本身,而不是对象所指的对象(例如数组元素)。
测试代码:
class A
attr_accessor :timer
def initialize
@timer = [1,2]
end
def show
p @timer
end
end
a = A.new
b = a.clone
c = a.dup
p a, b,c
#<A:0x2c90d40 @timer=[1, 2]>
#<A:0x2c90c50 @timer=[1, 2]>
#<A:0x2c90c20 @timer=[1, 2]>
b.show
[1, 2]
c.show
[1, 2]
p a.equal?(b),a.equal?(c),b.equal?(c)
false
false
false
p a == b, a == c, b == c
false
false
false
c.timer = 1
p a == b, a == c, b == c
false
false
false
p a.equal?(b),a.equal?(c),b.equal?(c)
false
false
false
没看出有啥区别。
就是复制没一次成功的说~~~ 版务信息:本贴由楼主自主结贴~ |
|