Lua - Datentypen

Lua ist eine dynamisch typisierte Sprache, daher haben die Variablen keine Typen, nur die Werte haben Typen. Werte können in Variablen gespeichert, als Parameter übergeben und als Ergebnisse zurückgegeben werden.

In Lua haben wir zwar keine variablen Datentypen, aber Typen für die Werte. Die Liste der Datentypen für Werte ist unten angegeben.

Sr.Nr. Werttyp & Beschreibung
1

nil

Wird verwendet, um den Wert von Daten oder keinen (Null-) Daten zu unterscheiden.

2

boolean

Schließt wahr und falsch als Werte ein. Wird im Allgemeinen zur Zustandsprüfung verwendet.

3

number

Repräsentiert reelle Zahlen (Gleitkommazahlen mit doppelter Genauigkeit).

4

string

Repräsentiert ein Array von Zeichen.

5

function

Stellt eine Methode dar, die in C oder Lua geschrieben ist.

6

userdata

Repräsentiert beliebige C-Daten.

7

thread

Stellt unabhängige Ausführungsthreads dar und wird zum Implementieren von Coroutinen verwendet.

8

table

Stellen Sie gewöhnliche Arrays, Symboltabellen, Mengen, Datensätze, Diagramme, Bäume usw. dar und implementieren Sie assoziative Arrays. Es kann einen beliebigen Wert enthalten (außer Null).

Typ Funktion

In Lua gibt es eine Funktion namens 'type', mit der wir den Typ der Variablen kennen. Einige Beispiele finden Sie im folgenden Code.

print(type("What is my type"))   --> string
t = 10

print(type(5.8*t))               --> number
print(type(true))                --> boolean
print(type(print))               --> function
print(type(nil))                 --> nil
print(type(type(ABC)))           --> string

Wenn Sie das obige Programm erstellen und ausführen, wird unter Linux das folgende Ergebnis erzielt:

string
number
boolean
function
nil
string

Standardmäßig zeigen alle Variablen auf Null, bis ihnen ein Wert zugewiesen oder initialisiert wird. In Lua werden Null- und Leerzeichenfolgen bei Bedingungsprüfungen als wahr angesehen. Daher müssen Sie bei der Verwendung von Booleschen Operationen vorsichtig sein. Wir werden in den nächsten Kapiteln mehr über diese Typen erfahren.