SYNOPSIS
closure unbound_lambda(mixed *arg, mixed code)
BESCHREIBUNG
Erzeugt eine Lambda-Closure, die nicht an ein Objekt gebunden ist,
entsprechend einer Lambda-Funktion in LISP.
Die Closure kann keine Referenz zu globalen Variablen enthalten.
Lfun-Closures werden unveraendert in die Closure eingebunden, da es
kein Ursprungsobjekt fuer diese Closure gibt.
Bevor die Closure aufgerufen werden kann, muss sie an ein Objekt
gebunden werden. Normale Objekte koennen Closures nur an sich selbst
binden, das Binden an andere Objekte erzeugt eine Schutzverletzung.
Der Punkt ist, dass previous_object() fuer Aufrufe innerhalb der
Closure auf das Objekt zeigt, das bind_lambda() aufgerufen hat, und
alle objekt- oder uid-basierten Sicherheitschecks beziehen sich
auf jenes Objekt.
Das erste Argument <*arg> ist ein Array, das die Argumente (Symbole)
enthaelt, die an die Closure uebergeben werden, wenn diese mit
funcall() oder apply() ausgewertet wird. Das zweite Argument <code>
enthaelt den Code der Closure.
GESCHICHTE
Eingefuehrt in 3.2@82.
SIEHE AUCH
closures(LPC), lambda(E), apply(E), funcall(E), bind_lambda(E)
|