Path: news.cs.au.dk!not-for-mail From: Jacob Frolund Pedersen Newsgroups: daimi.beta Subject: Re: cloning af objecter Date: Wed, 18 Oct 2000 09:18:17 +0200 Organization: University of Aarhus, Department of Computer Science (DAIMI) Lines: 73 Message-ID: <39ED4EB9.BB4B3EF4@cs.au.dk> References: <39EC0E3F.8AFD7B8F@cs.au.dk> <39EC7AC0.E17405FE@cs.au.dk> <39EC7BB4.F3A73A04@cs.au.dk> <8sjgc1$565ua$1@gjallar.cs.au.dk> NNTP-Posting-Host: aurelian.cs.au.dk Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Trace: gjallar.cs.au.dk 971853497 5501928 130.225.19.98 (18 Oct 2000 07:18:17 GMT) X-Complaints-To: usenet@cs.au.dk NNTP-Posting-Date: Wed, 18 Oct 2000 07:18:17 +0000 (UTC) X-Mailer: Mozilla 4.75 [en] (X11; U; IRIX 6.5 IP32) X-Accept-Language: en Xref: news.cs.au.dk daimi.beta:10508 Jorgen Lindskov Knudsen wrote: > BETA har ikke nogen indbygget mulighed for at klone et objekt. > > Michael's svar nedenfor giver _ikke_ en kloning, blot to referencer til > samme objekt (nemlig den statiske reference 'repetition[i]' og den dynamiske > reference 'reference'. Hvis du ændrer en attribut via 'repetition[i]' vil > det jo betyde, at hvis du efterfølgende aflæser samme attribut via > 'reference', så er den også ændret. > > Det almindelige måde at implementere kloning på i BETA er ved at erklære en > 'clone' operation i klassen: > > P: > (# attr1, attr2, attr3: @Q; > clone:< > (# pClone: ^P > do &P[]->pClone[]; > (* kopier værdierne af attr1-3 over i > * pClone.attr1, pClone.attr2, pClone.attr3 > *) > exit pClone[] > #); > > Hvis nu du har: > > repetition: [10]@P; > > kan du klone ved at lave: > > repetition[i].clone->reference[] > > Håber, at det hjælper. > > --- jlk Det er sådan vi har løst det, men det kunne jo være at der var en fix måde :-) /Jacob > > > Michael Westergaard wrote in message <39EC7BB4.F3A73A04@cs.au.dk>... > >Michael Westergaard wrote: > >> > >> Jacob Frolund Pedersen wrote: > >> > > >> > Hej.. > >> > > >> > Hvis man i beta skal lave en kopi af et object som ligger i en > >> > repetition hvordan gør man så? > >> > > >> > Jeg har en obj. på plads i og vi så gerne have en kopi over i en > >> > dynamisk reference. > >> > > >> > /Jacob Pedersen > >> > >> repetition[i][]->reference ? > >> > > > >ups... selfølgelig: > > > >repetition[i][]->reference[] > > > > > >-- > > _______ > > / \ Michael Westergaard > > / /|/| \ \ u991875@cs.au.dk > >( ( ` | ) ) > > \ \ |/\/ / http://www.cs.au.dk/~u991875 > > \_______/