GESCHUETZT SYNOPSIS #include <sys/functionlist.h> #include <sys/lpctypes.h> *mixed variable_list(object obj, int flags = RETURN_FUNCTION_NAME); BESCHREIBUNG Liefert ein Array mit Informationen ueber die Variablen von <obj>. Fuer jede Variable werden 1 bis 4 Werte in diesem Array gespeichert, abhaengig von <flags>. Die Resultate werden in dieser Reihenfolge im Array abgespeichert: - der Name der Variablen - die Flags der Variablen (siehe weiter unten) - der Rueckgabetyp (gemaess mudlib/sys/lpctypes.h) - der Wert der Variablen <obj> kann als Objekt oder als Dateinamen uebergeben werden. Im zweiten Fall versucht variable_list() nicht, das Objekt vor der Verarbeitung zu laden. Wenn <obj> nicht das aufrufende Objekt ist und der Wert der Variablen abgefragt wird, erzeugt dies eine Schutzverletzung ("variable_list", <obj>). Mit <flags> wird festgelegt, welche Informationen ueber welche Variablen abgefragt werden. Folgende Flags aus <sys/functionlist.h> koennen mit binaerem Oder kombiniert werden: Auswahl der gesammelten Information: RETURN_FUNCTION_NAME liefert den Namen der Variablen RETURN_FUNCTION_FLAGS liefert die Flags der Variablen (s. unten) RETURN_FUNCTION_TYPE liefert den Rueckgabetyp RETURN_VARIABLE_VALUE liefert den Wert der Variablen Auswahl der Variablen, die ausgewertet werden: NAME_INHERITED schliesst geerbte Variablen aus TYPE_MOD_STATIC schliesst "static" deklarierte Variablen aus TYPE_MOD_NOSAVE schliesst "nosave" deklarierte Variablen aus TYPE_MOD_PRIVATE schliesst "private" deklarierte Variablen aus TYPE_MOD_PROTECTED schliesst "protected" deklarierte Variablen aus NAME_HIDDEN enthaelt Variablen, die geerbt wurden. Die Flags der Variablen koennen die Auswahl-Flags enthalten und zusaeztlich folgende Werte: TYPE_MOD_VIRTUAL die Variable wurde virtuell geerbt TYPE_MOD_NO_MASGK die Variable ist "nomask" deklariert TYPE_MOD_PUBLIC die Variable ist "public" deklariert All diese Flags sind in mudlib/sys/functionlist.h definiert und sollten an einen allgemein zugaenglichen Platz kopiert werden. Die Rueckgabewerte sind in mudlib/sys/lpctypes.h definiert, die auch in die Mudlib kopiert werden sollten. AENDERUNGEN Eingefuehrt in LDMud 3.2.10 SIEHE AUCH inherit_list(E), functionlist(E), variable_exists(E)