SYNOPSIS mixed apply(closure cl, mixed arg, ...); BESCHREIBUNG Wertet die Closure <cl> aus. Wenn <cl> keine Closure ist, wird <cl> unveraendert zurueck geliefert und alle Argumente <arg> 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. AENDERUNGEN 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)