Konvertierungen: VAL

 [Vorherige Seite]  [Inhaltsverzeichnis]  [Nächste Seite]  [Nächstes Kapitel]

IF int > VAL(INTEGER, card) THEN
   (* ... *)
END;

*VAL konvertiert sein zweites Argument in den Typ, der als erstes angegeben ist.
 
*Der angegebene Typ muß skalar sein, d.h. entweder ganzzahlig oder ein beliebiger Aufzählungstyp oder CHAR oder BOOLEAN.
 
*Der Typ des zweiten Arguments muß zu CARDINAL, INTEGER, LONGCARD oder LONGINT kompatibel sein.
 
*Das zweite Argument wird dann in den angegebenen Typ konvertiert, wobei zur Laufzeit überprüft wird, ob es innerhalb des Bereiches des Ergebnistyps darstellbar ist.
 
oberon$ cat ValCrash.m2
MODULE ValCrash;
   TYPE Colours = (red, green, blue, white, black);
   VAR colour: Colours; card: [1..10];
BEGIN
   card := 10;
   colour := VAL(Colours, card);
END ValCrash.
oberon$ m2c -o valcrash ValCrash.m2 && valcrash

runtime error in module ValCrash at line 6:
CARDINAL value 10 out of [0..4]
Abort(coredump)
oberon$ 

 [Vorherige Seite]  [Inhaltsverzeichnis]  [Nächste Seite]  [Nächstes Kapitel]
Copyright © 1999 Andreas Borchert, in HTML konvertiert am 04.02.1999