Status: nicht realisiert; zur Realisierung in einer späteren Version vorgesehen
Die Delayunterfunktion holt den früheren Wert einer Variable
zurück. Bei der Auswertung von Fib-Objekten werden einige Zweige mehrfach durchlaufen (z. B. für jeden Wert eines Bereichselements). Die Delayunterfunktion gibt den Wert zurück, den die Variable
vor
-Aufrufen der Delayunterfunktion eingenommen hat.
Syntax:
Beschreibung der Elemente:
: Dies ist die Variable, deren früherer Wert zurückgegeben werden soll. (Diese kann auch [ausnahmsweise] von einem Fib-Element definiert werden, welches im gleichen Ast ist wie das Fib-Element zur Delayunterfunktion.)
: Dies ist eine natürliche Zahl, welche angibt, aus welchem früheren Delayunterfunktionsaufruf
den Wert annehmen soll. Sollte
keine natürliche Zahl sein, wird sie auf eine natürliche Zahl gerundet.
: Dies ist der Standardwert der zurückgegeben wird, wenn es keine frühere Belegung für
gibt, mit der die Variable
belegt war.
eines Durchgangs den Wert
, den die Variable
in diesem Aufruf
annimmt. Beim Aufruf
gibt sie den Wert
zurück, den die Variable im Aufruf
angenommen hat. Ist
kleiner als
, wird der Wert der Unterfunktion
zurückgegeben.
Ein Durchgang ist durch die Auswertung des gesamten Fib-Objekts bestimmt. Beispielsweise ist die Auswertung des Fib-Objekts, über das oberste root-Element ein Durchgang. Wird eine solche Auswertung über das oberste root-Element erneut gestartet, wird ein neuer Durchgang begonnen und die Delayunterfunktion verwirft dann alle früheren Werte
.
Beispiel:
; Die Variable
wird mit dem Wert belegt, den sie beim vorherigen Delayunterfunktionsaufruf hatte oder mit dem Wert
, wenn die Delayunterfunktion das erste mal ausgewertet wird.
Anmerkung:
Mit der Delayunterfunktion in Verbindung mit dem Set-Element sowie Bereichs- und Funktionselementen können beispielsweise Polygonzüge leicht erzeugt werden. Mit dem Set-Element werden die Eckpunkte des Polygonzugs festgelegt. Mit der Delayfunktion werden die Werte für frühere Eckpunkte zurückgeholt, welche dann über Bereichs- und Funktionselemente verbunden werden.