| 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. |
| |
| SIEHE AUCH |
| closures(LPC), lambda(E), apply(E), funcall(E), bind_lambda(E) |