Lade...
 

Aufruf

Call

Call(zugriffsAusdruck, function), Call(function)

Parameter:  ein Zugriffsausdruck, Name einer Funktion

Stack
Stack Position Beschreibung
Stack(In) Top ein Objekt
  Top-1 Parameter n
  Top-2 Parameter n-1
  . . . . . .
  Top-n Parameter 1
Stack(Out)   Rückgabewert

Ein Vektor wird als wie folgt als Parameter übergeben:

Stack
Stack Position Beschreibung
Stack(In) Top ein Objekt
  Top-1 Parameter n
    . . .
    ]
    Element m
    Element m-1
    . . .
    Element 1
    [
    . . .

und ähnlich erscheint ein Vektor als Rückgabewert:

Stack
Stack Position Beschreibung
Stack(In) Top ein Objekt
  Top-1 Parameter n
  Top-2 Parameter n-1
  . . . . . .
  Top-n Parameter 1
Stack(Out) Top ]
  Top-1 Element 1
  Top-2 Element 2
    . . .
  Top-n Element n
  Top-n-1 [

Die im ersten oder zweiten Parameter angegebene Memberfunktion wird aufgerufen. Ist nur ein Parameter angegeben, so handelt es sich um eine Methode des auf dem Stack-Top liegenden Objekts. Mit dem Zugriffsausdruck, der im ersten Parameter angegeben werden kann, wird - ausgehend vom Objekt auf dem Stack-Top - ein weiteres Objekt erreicht, dessen Funktion aufgerufen wird. Aufrufparameter müssen vorher in der Reihenfolge der Parameterliste*) der Funktion auf den Stack gebracht werden. Gibt die Funktion einen Wert zurück, so liegt dieser hinterher auf dem Stack.
InstantView® kennt nur die im Method Dictionary eingetragenen Funktionen.

*) d.h. der erste Parameter wird zuerst auf den Stack gebracht, der letzte Parameter liegt auf dem Stack-Top. Damit sieht der Aufruf einer Funktion Foo(p1, p2, ..., pn) im InstantView®-Code wie folgt aus:

    p1 p2 ... pn /* = Parameter */ object /* = the object */ Call(Foo)

 

Hinweis: Funktionen können auch innerhalb eines Zugriffsausdrucks aufgerufen werden.
Es ist jedoch nicht möglich, mittels Call eine MA-Funktion aufzurufen.

Verwandte Themen