home *** CD-ROM | disk | FTP | other *** search
File List | 1990-10-18 | 988 b | 38 lines |
- % -------------------------------------------------------------
- % Demonstrationslisting 1:
- % -------------------------------------------------------------
- % Abstrakter Datentyp LISTE
- open_object liste .
-
- % Darstellung des Listeninhalts als [car|cdr]
- private inhalt .
- private laenge .
-
- % Initialisierung
- inhalt = []
- laenge = 0 .
-
- % Aufbau einer Liste durch Voranstellen eines neuen
- % Elementes L
- cons( L ) :- self::inhalt :== [L | self::inhalt] ,
- laenge +== 1 .
-
- % Erstes Element der Liste
- car = E := self::inhalt = [E | _ ] .
-
- % Restliste ohne erstes Element (ohne Längeninformation)
- cdr = LRest := self::inhalt = [ _ | LRest] .
-
- % Das erste Element aus der Liste entfernen, dieses Element
- % zurückgeben
- dropl( L ) = E :-
- E = car( self),
- self::inhalt := cdr( self),
- laenge -==1 .
-
- % Anzahl der Elemente in der Liste
- listlen = S :- S is laenge .
-
- % Hier weitere Methoden einfügen ....
- close_object liste .