execute_anything() ================== FUNKTION -------- :: protected mixed execute_anything(mixed fun, mixed args, ...) DEFINIERT IN ------------ :: /std/util/executer.c ARGUMENTE --------- :: mixed fun auszufuehrende Funktion/Array/Closure ... anything mixed args weitere Argumente, werden weiter uebergeben BESCHREIBUNG ------------ :: Fuehrt "alles" aus: 'fun' kann sein: - eine Closure [funcall(fun, args, ...)] - einen String als Funktion im Objekt [call_other(this_object(), fun, args, ...)] - ein Array mit Objekt/Objektnamen + Funktion als Aufruf der Funktion am Objekt/Objektnamen: [call_other(array[0], array[1], args...)] Wird execute_anything() aus dem restriction_checker gerufen, wird als erster Parameter immer das gepruefte Living uebergeben. BEMERKUNGEN ----------- :: Es kann sich anbieten, die gerufene Funktion mit varargs-Argumenten zu gestalten, damit ihr mehr Argumente uebergeben werden koennen als in der Funktionsdefinition angegeben sind. Der Restriktionspruefer (/std/restriction_checker) versteht im Falle eines Arrays mit Objekt/Objektnamen + Funktion auch ein Array mit mehr als 2 Elementen. Die weiteren Elemente werden dann zu weiteren Argumenten der gerufenen Funktion. Hierbei wird ggf. aber als erstes Argument vor alle anderen eingefuegt. SIEHE AUCH ---------- :: check_restrictions, varargs 31.12.2013, Zesstra