Bezeichnung
RawGet -- liest einen Wert aus der Tabelle ohne Metamethoden (V2.0)
Übersicht
v = RawGet(t, key)
Beschreibung
Dieser Befehl liest den Wert aus dem Index key aus der angegebenen Tabelle t und gibt ihn zurück. Grundsätzlich ist dieser Befehl das Selbe wie folgender Ausdruck:

 
v = t[key]

Der Unterschied besteht darin, dass RawGet() nie die Metamethoden aufrufen und somit nicht fehlschlagen wird, wenn der angegebene Index nicht existiert. Somit ist es nützlich, um zu überprüfen, ob ein bestimmter Tabellenindex vorhanden ist oder zum Lesen von Werten aus der Tabelle ohne die Metamethoden aufzurufen. Siehe Metamethoden für Details.

Bitte beachten Sie, dass Zeichenketten-Indizes in der Regel in Kleinbuchstaben geschrieben sind, außer wenn Sie den Tabellenindex mit Klammern initialisieren. Betrachten Sie den folgenden Code:

 
t1 = {TEST = 1}
DebugPrint(RawGet(t1, "TEST"), RawGet(t1, "test")) ; prints Nil/1
t2 = {}
t2.TEST = 1
DebugPrint(RawGet(t2, "TEST"), RawGet(t2, "test")) ; prints Nil/1
t3 = {}
t3["TEST"] = 1
DebugPrint(RawGet(t3, "TEST"), RawGet(t3, "test")) ; prints 1/Nil

Wie Sie sehen, wird beim Initialisieren des TEST-Elements mit geschweiften Klammern oder dem Punktoperator der Zeichenketten-Index TEST automatisch in Kleinbuchstaben umgewandelt. Bei Verwendung von Klammern zur Initialisierung des TEST-Elements findet keine Konvertierung statt. Dies hat zur Folge, dass Sie nicht auf nicht-kleingeschriebene Zeichenketten-Indizes zugreifen können, die mit dem Punktoperator der Klammer-Syntax initialisiert wurden, da der Punktoperator den Index immer in Kleinbuchstaben umsetzt.

Ab Hollywood 6.0 können Sie auch den Komfortbefehl HaveItem() nutzen, um zu überprüfen, ob ein Tabellenelement existiert. Siehe HaveItem für Details.

Eingaben
t
Tabelle abfragen
key
Index für die Suche
Rückgabewerte
v
Wert des angegebenen Index oder Nil, wenn der Index in der Tabelle nicht existiert.
Beispiel
t = {x = 10, y = 20}
NPrint(RawGet(t, "x"))
NPrint(RawGet(t, "y"))
NPrint(RawGet(t, "z"))
Der obige Code gibt 10 / 20 / Nil aus.

Navigation zeigen