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 <pl> ggf. aber als erstes Argument vor
alle anderen eingefuegt.

SIEHE AUCH

check_restrictions, varargs

31.12.2013, Zesstra