blob: 673b377d4bee58ef8ad77ca509c110d0aa02bb7f [file] [log] [blame]
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)