Haupt Navigation Neben Navigation

Tables

Die in LUA so betitelten tables heißen in anderen Programmiersprachen Arrays und stellen eine Art Sammelvariable dar. Man kann also für eine Grußße von Werten statt 10 Variablen eine erstellen und in ihr die 10 Werte speichern.

Das erstellen eines solchen Arrays ist Kinderleicht:

array = {}

Dieses hat aber noch keinen Inhalt, jedoch kann man diesen auf zwei Wege ganz leicht einfügen:

array = {"Wert 1", 5, "Wert 2", 7}

Jetzt fragen Sie sich vielleicht, wie man diese Werte nun wieder ausgiebt. Das ganze Prinzip ist sehr simpel, jeder Wert bekommt einen sogenannten Index. Über diesen können dann Member des Arrays angesprochen werden:

screen:print(10, 10, array[1]..": "..array[2], Color.new(255, 255, 255))

Und die Ausgabe lautet...
Wert 1: 5

Achtung: Im Gegensatz zu vielen anderen Programmiersprachen beginnt der Index in LUA mit 1 statt 0.

Die zweite Variante besteht aus dem Namen des Arrays, einem Punkt und dem Namen des Members.

array.wert = 5
array.string = "Wert 1"

screen:print(10, 10, array.string..": "..array.wert, Color.new(255, 255, 255))

Und immer dran denken: Der Membername muss mit einem Buchstaben oder Unterstrich beginnen.

Verwendung

Diese zwei Typen sind nicht nur im Aufbau unterschiedlich, sie verfolgen auch andere Zwecke.

Variante eins eignet sich besonderst, um zum Beispiel in einer Schleife bearbeitet zu werden, da man beispielsweiße über eine Zählvariable leicht einen Index ansprechen kann.

Variante zwei ist sehr gut, um logisch zusammenhängende Variablen zusammen zu fassen und somit die Übersicht im Programm zu steigern.