作者billmax (无)
看板Perl
标题[问题] 如何复制「物件」?
时间Wed Feb 24 11:55:09 2010
my $object1=new class();
......$object1 处理了一些事情。
my $object2=new class();
用$object2=$object1;
这应该只是把$object2「参考」到$object1
他们2个应该指得还是同一个地方,不能独立出来。
我想把$object1 「复制」给 $object2,该如何用?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 60.250.199.152
1F:→ paulpu:写个sub replicate吧 02/24 11:58
2F:→ paulpu:$o2=\解参照$o1 02/24 12:01
3F:→ paulpu:最後记得要bless一下 02/24 12:11
4F:→ LyinZ:$object2 = bless {%$object1}, class 02/24 12:50
5F:→ billmax:这个方式不行,oj1 跟 oj2 还是参考在一起。 02/24 14:40
6F:推 paulpu:要看您的资料结构:%是其中一种 所谓解参照要递回解下去ㄅ? 02/24 16:36
7F:推 paulpu:可以建个sub用Storable的freeze $o1再thaw出来bless? 02/24 16:45
8F:推 paulpu:我的意思是如果您物件的参数存法是binary tree之类的 02/24 16:48
9F:→ billmax:我的资料结讲很简单,只是hash里存放一些资料而已 02/25 00:02
10F:→ billmax:您说的方式还不是很了解,我对类别还不是非常的懂, 02/25 00:05
11F:→ billmax:不过还是谢谢您! 02/25 00:05
12F:→ paulpu:试试看: $o2=\%$o1;bless $o2,'class'; ㄅ 02/25 00:17
13F:→ paulpu:四楼 02/25 00:33
14F:→ paulpu: %$o2=%$o1; 02/25 00:44
15F:→ paulpu:tmtowtdi 02/25 00:50