| |
| 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 |