Path: news.daimi.aau.dk!gnort From: Lars Balker Rasmussen Newsgroups: daimi.beta Subject: Re: C enumertor i beta Date: 04 Oct 1996 10:31:23 +0200 Organization: DAIMI, Computer Science Dept. of Aarhus Univ. Lines: 44 Sender: gnort@fraxinus.daimi.aau.dk Message-ID: <0fk9t7ceqs.fsf@fraxinus.daimi.aau.dk> References: <3243DDED.41C6@daimi.aau.dk> NNTP-Posting-Host: fraxinus.daimi.aau.dk Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit X-Newsreader: Red Gnus v0.45/Emacs 19.33 Peter von der Ahe writes: > Jeg tror du er lidt paa et vildspor, hvis du forsoeger at overfoere et > C program til BETA. BETA er jo som bekendt objektorienteret, saa hvad > med at bruge nogle patterns til at modellere dit varesortiment, fx: > > ORIGIN '~beta/basiclib/v1.5/betaenv'; > --PROGRAM: descriptor-- > (# > sodavand: (# #); > cola: sodavand(# #); > squash: sodavand(# #); > drik: ^sodavand > do > &squash[]->drik[]; > (if drik## > // cola## then > 'Du har købt en cola'->putLine > // squash## then > 'Du har købt en sqaush'->putLine > if) > #) Jeg tror du er lidt på et vildspor, hvis du forsøger at bruge objekternes type i BETA. BETA er som bekendt objektorienteret, så hvad med at bruge nogle virtuelle patterns til at repræsentere navnet, fx: ORIGIN '~beta/basiclib/v1.5/betaenv'; --PROGRAM: descriptor-- (# sodavand: (# navn:< (# exit "sodavand" #) #); cola: sodavand(# navn::< (# exit "cola" #) #); squash: sodavand(# navn::< (# exit "squash" #) #); drik: ^sodavand do &squash[]->drik[]; 'Du har købt en ' -> putText; drik.navn -> putLine #) (Jeg beklager evt. stylistiske uskønhder, syntax-fjel osv, men jeg har altså ikke rørt BETA i 3 år ;-) ) -- Lars Balker Rasmussen - Duck! - Where!?