SYNOPSIS
mixed get_type_info(mixed arg, int flag)
BESCHREIBUNG
Liefert Informationen uber den Typ von <arg>, wie von <flag>
angegeben.
Wenn <flag> keine Zahl ist, liefert get_type_info() ein Array, dessen
erstes Element ein Integer ist, der den Datentyp bezeichnet, wie in
<lpctypes.h> definiert. Der zweite Eintrag kann zusaetzliche
Informationen zu <arg> enthalten.
Ist <flag> 0, wird nur das erste Element (d.h. der Datentyp) geliefert.
Ist <flag> 1, wird nur das zweite Element geliefert.
Wenn <arg> eine Closure enthaelt, so kann get_type_info() das Objekt
der Closure liefern, wenn fuer <flag> 2 gesetzt ist. (Fuer 'alien
lfun closures' ist das das Objekt, in dem die Closure definiert ist,
nicht das Objekt, an das die Closure gebunden ist.)
Wenn <arg> eine LFun/Context-Closure enthaelt, so kann get_type_info()
den Namen des definierenden Programmes liefern, wenn fuer <flag> 3
gesetzt ist. Fur andere Closures wird 0 zurueckgegeben.
Wenn <arg> eine LFun/Context-Closure enthaelt, so kann get_type_info()
den Namen der Funktion liefern, wenn fuer <flag> 4
gesetzt ist. Fur andere Closures wird 0 zurueckgegeben.
Fuer jeden anderen Wert fuer <flag> liefert die Funktion -1.
Die zusaetzlichen Informationen (also der zweite Eintrag des Arrays)
beinhalten:
- fuer Mappings deren Breite, also die Anzahl Datenwerte pro Key.
- fuer Symbole und gequotete Arrays die Anzahl Quotes.
- fuer Closures den (internen) Typ der Closure.
- fuer gemeinsam verwendete Strings 0, ungleich 0 fuer andere Strings
- fuer structs der eindeutige Identifizierungsstring
- -1 fuer alle anderen Datentypen
FEHLER
Diese Funktion unterliegt haeufigen Veraenderungen im Zug der
Treiberentwicklung.
GESCHICHTE
Eingefuehrt in 3.2@127.
Flagwert 2 eingefuehrt in 3.2.1@84.
Zusatzinformationen zu Strings eingefuehrt in 3.2.7.
Bis und mit 3.2.7 lieferte get_type_info(closure, 2) keine Objekte
von Lamda Closures und gebundenen Lambda Closures.
Bis und mit 3.2.7 lieferte get_type_info(closure, 2) keine Objekte von
Efun-, Simul-Efun- oder Operator-Closures.
LDMud 3.3.276 fuegte die zusaetzliche Information fuer structs hinzu.
LDMud 3.3.548 fuegte Flagwert '3' hinzu.
LDMud 3.3.708 fuegte Flagwert '4' hinzu.
SIEHE AUCH
debug_info(E), typeof(E), to_object(E)
|