作者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