Lade...
 

is

is

is(typeInfo)

Parameter:  ein Typname

Stack
Stack Position Beschreibung
Stack(In) Top ein Wert
Stack(Out) Top TRUE oder FALSE (1 oder0)

Stackelemente sind - ebenso wie Variable - einfach Container, die alle für die Arbeit mit InstantView® relevanten Werte aufnehmen. Mit InstantView® ist es weder möglich noch nötig, explizit einen Typ zu vereinbaren. In Ausnahmefällen kann es trotzdem interessant sein, statt des Wertes vom Stack (zunächst) Informationen über seinen Typ zu erhalten. Man bekommt TRUE auf den Stack, wenn eine mit is(typeInfo) aufgestellte Vermutung über den Wert vom Stack-Top stimmt. Die folgende Tabelle zeigt, welche Stackwerte bei der Abfrage mit dem Typ aus der linken Spalte TRUE ergeben:

INTEGER ganze Zahl
STRING Zeichenkette
ML_STRING multilinguale Zeichenkette
OBJECT ein (transientes oder persistentes) Objekt
TRANSIENT_OBJECT transientes Objekt
PERSISTENT_OBJECT persistentes Objekt
COLLECTION Collection
VECTOR Vector
INDEX_PATH Indexpfad
INVALID Konstante INVALID (uninitialisierte Variable, fehlende Daten)
ACCESS_DENIED Konstante ACCESS_DENIED - Ergebnis einer Verletzung der Zugriffsrechte
FLAG ein Flag
MARKER ein Marker
Closing Bracket Marker Closing Bracket
Opening Bracket Marker Opening Bracket

INSTRUCTION

198288
PROCEDURE
mittels Push auf den Stack gebrachte Anweisung oder eine anonyme Prozedur

Zwischen transientem und persistentem Objekt wird hier auf semantischer Ebene und nicht auf technischer Ebene geprüft. Das Beispiel "Lazy Creator" soll das verdeutlichen:

Ein Lazy-Creator-Objekt besteht immer aus zwei Teilen: Dem Lazy-Creator und dem Objekt, das verzögert erzeugt wird. Der Lazy-Creator ist immer transient, während das Objekt immer persistent ist. Wird nun ein Lazy-Creator mit is(PERSISTENT_OBJECT) gefragt, ob es persistent ist, so lautet die Antwort TRUE, denn das Objekt, mit dem letztendlich gearbeitet wird, ist persistent.

InstantView