home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1991 / 01 / prolog / demo1.lst next >
Encoding:
File List  |  1990-10-18  |  988 b   |  38 lines

  1. % -------------------------------------------------------------
  2. %                   Demonstrationslisting 1:
  3. % -------------------------------------------------------------
  4. % Abstrakter Datentyp LISTE
  5. open_object liste .
  6.  
  7. % Darstellung des Listeninhalts als [car|cdr]
  8. private inhalt .
  9. private laenge .
  10.  
  11. % Initialisierung
  12. inhalt = []
  13. laenge = 0 .
  14.  
  15. % Aufbau einer Liste durch Voranstellen eines neuen
  16. % Elementes L
  17. cons( L ) :- self::inhalt :== [L | self::inhalt] ,
  18.              laenge +== 1 .
  19.  
  20. % Erstes Element der Liste
  21. car = E := self::inhalt = [E | _ ] .
  22.  
  23. % Restliste ohne erstes Element (ohne Längeninformation)
  24. cdr = LRest := self::inhalt = [ _ | LRest] .
  25.  
  26. % Das erste Element aus der Liste entfernen, dieses Element
  27. % zurückgeben
  28. dropl( L ) = E :-
  29.     E = car( self), 
  30.     self::inhalt := cdr( self),
  31.     laenge -==1 .
  32.  
  33. % Anzahl der Elemente in der Liste
  34. listlen = S :- S is laenge .
  35.  
  36. % Hier weitere Methoden einfügen ....
  37. close_object liste .
  38.