SYNOPSIS mixed apply(closure cl, mixed arg, ...) BESCHREIBUNG Wertet die Closure aus. Wenn keine Closure ist, wird unveraendert zurueck geliefert und alle Argumente werden ignoriert. Es gibt einen kleinen Unterschied zu funcall(), das ja im Wesentlichen das gleiche tut (naemlich, eine Closure auswerten): wenn das letzte Argument von apply() ein Array ist, wird jedes Element dieses Arrays zu einem separaten zusaetzlichen Parameter der Closure umgewandelt. Eine moegliche Anwendung waere: mixed eval(object ob,string func,mixed *args) { return apply(#'call_other,ob,func,args); } Das fuehrt zu folgenden Aufrufen: ob->func(args[0],args[1],...,args[sizeof(args)-1]) Waere stattdessen funcall() aufgerufen worden, so haette das ergeben: ob->func(args) Eine wichtige Anwendung von apply() ist das Auswerten des Array-Arguments in "varargs" Funktionen. GESCHICHTE Eingefuehrt in 3.2@70. LDMud 3.2.8 fuehrte ein, dass das erste Argument zurueck gegeben wird, wenn es sich nicht um eine Closure handelt. SIEHE AUCH funcall(E), closures(LPC), varargs(LPC)