SYNOPSIS
#include <functionlist.h>
mixed function_exists(string str)
mixed function_exists(string str, int flags)
mixed function_exists(string str, object ob)
mixed function_exists(string str, object ob, int flags)
BESCHREIBUNG
Sucht eine Funktion <str> im aktuellen Objekt bzw. im Objekt <ob>. Je
nach den angegeben <flags> werden folgende Informationen angezeigt:
FEXISTS_PROGNAME (0, default):
Liefert den Namen des Programms, in dem die Funktion definiert ist.
Das kann entweder der Objektname object_name(ob) sein, oder der
Name eines geerbten Programms. Wenn der Driver nicht im Compat-Modus
laeuft, beginnt der Name immer mit einem '/'.
FEXISTS_FILENAME (1):
Liefert den Namen der Datei, in der die Funktion definiert ist. Das
kann auch ein Inlcude-File sein. Wenn der Driver nicht im Compat-
Modus laeuft, beginnt der Name mit einem '/'.
FEXISTS_LINENO (2):
Liefert die Zeilennummer im Quellcode, in der die Funktion definiert
wird.
FEXISTS_ALL (3):
Liefert ein Array mit der gesamten Information der anderen Flags,
sowie zusaetzlichen Informationen ueber die Funktion:
string [FEXISTS_PROGNAME]: der Programmname
string [FEXISTS_FILENAME]: der Dateiname
int [FEXISTS_LINENO]: die Zeilennummer
int [FEXISTS_NUMARG]: die Anzahl der Funktionsargumente
int [FEXISTS_TYPE]: der Ergebnistyp der Funktion
int [FEXISTS_FLAGS]: die Funktionsflags
<flags> kann mit einem binaren Oder mit NAME_HIDDEN ergaenzt
werden, um Informationen ueber als static und protected deklarierte
Funktionen in anderen Objekten zu erhalten. Es ist nicht moeglich,
Informationen ueber als private deklarierte Funktionen zu erhalten.
Wenn die gesuchte Funktion nicht gefunden werden kann (weil sie
nicht existiert oder fuer den Aufrufer nicht sichtbar ist), dann
wird als Rueckgabewert 0 geliefert.
BEISPIELE
function_exists("create");
function_exists("create", that_object, NAME_HIDDEN|FEXISTS_ALL);
GESCHICHTE
LDMud 3.2.10 erweiterte die Menge der zurueck gelieferten Werte und
fuehrte das <flags> Argument ein.
LDMud 3.2.12/3.3.713 fuegte die zusaetzliche Funktionsinformation zum
FEXISTS_ALL Ergebnis hinzu.
SIEHE AUCH
call_other(E), call_resolved(E), functionlist(E), variable_exists(E)
|