SYNOPSIS #include string * inherit_list() string * inherit_list(object|lwobject ob) string * inherit_list(object|lwobject ob, int flags) BESCHREIBUNG Liefert die Namen von allen Dateien, die von geerbt werden, inklusive s eigener Dateiname. Wird nicht angegeben, wird standarndmaessig das aktuelle Objekt verwendet. Der Wert von bestimmt die Struktur des Rueckgabewertes: - = INHLIST_FLAT (0, default): inherit_list() liefert ein Array von Dateinamen, beginnend mit dem Namen von selbst, gefolgt von den Namen aller geerbten Objekten. - = INHLIST_TREE (1): inherit_list() liefert ein Array von Dateinamen, beginnend mit dem Namen von selbst. Wenn ein geerbte File selbst keine Files erbt, wird sein Name direkt in das Ergebnis eingetragen. Wenn ein geerbtes File selbst Files erbt, wird ein Untervektor erzeugt, in dem die Inherits eingetragen werden. Der Untervektor hat die gleiche Struktur wie der Haupvektor. - = INHLIST_TAG_VIRTUAL (2): Alle Namen im Ergebnisvektor haben ein leeres Tag " " (zwei Leerschlaege) fuer normale Inherits und "v " fuer virtuelle Inherits als Praefix vorangestellt. Alle Flags koennen mit einem binaeren Oder | verbunden werden, wobei INHLIST_FLAT und INHLIST_TREE sich gegenseitig ausschliessen. Wenn ein Objekt inklusive einem replace_program() unterworfen war, spiegeln die gelieferten Dateinamen das effektiv aktive Programm wider. Die Inheritpfade, die geliefert werden, beginnen immer mit '/' (absolute Pfade), auch wenn der Treiber im COMPAT Modus laeuft. BEISPIELE Gegeben folgende Vererbungsstruktur: / c - d a \ b Wobei d virtuell geerbt wird, ergeben sich folgende Resultate: inherit_list(a) -> ({ "a", "c", "b", "d" }) inherit_list(c) -> ({ "c", "d" }) inherit_list(a, 1) -> ({ "a", ({ "c", "d" }), "b" }) inherit_list(a, 3) -> ({ " a", ({ " c", "v d" }), " b" }) GESCHICHTE Vor 3.2.8, begannen die gelieferten Namen niemals mit einem '/'. LDMud 3.2.9 fuehrte die Baumstruktur (_TREE) und Tags fuer virtuelle Inherits ("v ") ein. SIEHE AUCH debug_info(E), include_list(E)