blob: 7a101fe80bbea6710ff9f25004ff6ee97b4182b0 [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001execute_anything()
Zesstra953f9972017-02-18 15:37:36 +01002******************
MG Mud User88f12472016-06-24 23:31:02 +02003
MG Mud User88f12472016-06-24 23:31:02 +02004
Zesstra953f9972017-02-18 15:37:36 +01005FUNKTION
6========
MG Mud User88f12472016-06-24 23:31:02 +02007
Zesstra953f9972017-02-18 15:37:36 +01008 protected mixed execute_anything(mixed fun, mixed args, ...)
MG Mud User88f12472016-06-24 23:31:02 +02009
MG Mud User88f12472016-06-24 23:31:02 +020010
Zesstra953f9972017-02-18 15:37:36 +010011DEFINIERT IN
12============
MG Mud User88f12472016-06-24 23:31:02 +020013
Zesstra953f9972017-02-18 15:37:36 +010014 /std/util/executer.c
MG Mud User88f12472016-06-24 23:31:02 +020015
Zesstra953f9972017-02-18 15:37:36 +010016
17ARGUMENTE
18=========
19
20 mixed fun auszufuehrende Funktion/Array/Closure ... anything
21 mixed args weitere Argumente, werden weiter uebergeben
22
23
24BESCHREIBUNG
25============
26
27 Fuehrt "alles" aus:
28
29
30
31 'fun' kann sein:
32 - eine Closure
33 [funcall(fun, args, ...)]
34 - einen String als Funktion im Objekt
35 [call_other(this_object(), fun, args, ...)]
36 - ein Array mit Objekt/Objektnamen + Funktion als Aufruf der Funktion am
37 Objekt/Objektnamen:
38 [call_other(array[0], array[1], args...)]
39
40 Wird execute_anything() aus dem restriction_checker gerufen, wird als
41 erster Parameter immer das gepruefte Living uebergeben.
42
43
44BEMERKUNGEN
45===========
46
47 Es kann sich anbieten, die gerufene Funktion mit varargs-Argumenten zu
48 gestalten, damit ihr mehr Argumente uebergeben werden koennen als in der
49 Funktionsdefinition angegeben sind.
50
51 Der Restriktionspruefer (/std/restriction_checker) versteht im Falle eines
52 Arrays mit Objekt/Objektnamen + Funktion auch ein Array mit mehr als 2
53 Elementen. Die weiteren Elemente werden dann zu weiteren Argumenten der
54 gerufenen Funktion. Hierbei wird <pl> ggf. aber als erstes Argument vor
55 alle anderen eingefuegt.
56
57
58SIEHE AUCH
59==========
60
61 check_restrictions, varargs
MG Mud User88f12472016-06-24 23:31:02 +020062
6331.12.2013, Zesstra