scripting:tutorials:level1:tables
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige ÜberarbeitungVorherige ÜberarbeitungNächste Überarbeitung | Vorherige Überarbeitung | ||
scripting:tutorials:level1:tables [2023/05/29 07:45] – fritz_98 | scripting:tutorials:level1:tables [2024/05/13 13:26] (aktuell) – fritz_98 | ||
---|---|---|---|
Zeile 41: | Zeile 41: | ||
</ | </ | ||
+ | Tables, die wie Listen funktionieren, | ||
---- | ---- | ||
Zeile 186: | Zeile 187: | ||
===== Tables als Wörterbücher ===== | ===== Tables als Wörterbücher ===== | ||
- | Die andere Art von Tables sind solche, die **Paare** von Variablen einander zuordnet. Wie in einem Wörterbuch kann man in so einem Table für einen gesuchten Wert (Fremdwort, **Schlüsselwert**/ | + | Die andere Art von Tables sind solche, die **Paare** von Variablen einander zuordnet. Wie in einem Wörterbuch kann man in so einem Table für einen gesuchten Wert (Fremdwort, **Schlüsselwert**/ |
Dazwischen stehen dann die Werte-Paare. Der Schlüsselwert/ | Dazwischen stehen dann die Werte-Paare. Der Schlüsselwert/ | ||
Zeile 221: | Zeile 222: | ||
</ | </ | ||
- | Es gibt für Tables eine weitere abkürzende Schreibweise, | + | Es gibt für Tables eine weitere abkürzende Schreibweise, |
<code lua> | <code lua> | ||
-- Dieses kleine Wörterbuch ist genau das gleiche wie oben in einer anderen Schreibweise | -- Dieses kleine Wörterbuch ist genau das gleiche wie oben in einer anderen Schreibweise | ||
Zeile 240: | Zeile 241: | ||
Der String-Key wird also mit einem Punkt vom Table-Name getrennt. | Der String-Key wird also mit einem Punkt vom Table-Name getrennt. | ||
- | FIXME table.getn | + | **Hinweis**: |
- | FIXME Neue Werte hinzufügen | + | **Wichtig**: |
- | FIXME Keys müssen Zahlen, | + | \\ |
+ | |||
+ | ==== Ein Table verändern ==== | ||
+ | |||
+ | Wir können unserem Wörterbuch wie gewohnt neue Werte hinzufügen. Für Strings | ||
+ | <code lua> | ||
+ | -- Wir definieren einige String-Paare im Dictionary | ||
+ | Dictionary = { | ||
+ | Computer = " | ||
+ | Mouse = " | ||
+ | Keyboard = " | ||
+ | Screen = " | ||
+ | } | ||
+ | |||
+ | -- Jetzt fügen wir einige weitere hinzu: | ||
+ | Dictionary[" | ||
+ | Dictionary[" | ||
+ | |||
+ | -- Dabei können wir die Schreibweise frei wählen | ||
+ | Dictionary.Joystick = " | ||
+ | </ | ||
+ | |||
+ | \\ | ||
+ | |||
+ | ==== Tables als Werte ==== | ||
+ | |||
+ | Wenn man in einem Table weitere " | ||
+ | |||
+ | Aus Rollenspielen kennst du vielleicht Charaktereditoren, | ||
+ | <code lua> | ||
+ | Character = { | ||
+ | Hair = { | ||
+ | Style = "Short Messy", | ||
+ | Color = " | ||
+ | Effect = " | ||
+ | }, -- Key-Value-Paare werden weiterhin durch Kommas getrennt. Die werden oft vergessen | ||
+ | Eyes = { | ||
+ | Type = 9, | ||
+ | Color = " | ||
+ | Size = 5, | ||
+ | GapSize = 11 | ||
+ | }, | ||
+ | Nose = { | ||
+ | Type = 3, | ||
+ | Size = 7, | ||
+ | Effect = "Dirt Patch" | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | In diesem Beispiel haben wir oft " | ||
+ | '' | ||
+ | ist eine andere Variable als \\ | ||
+ | '' | ||
+ | |||
+ | Man kann dem geschachtelten Table wie gewohnt neue Werte hinzufügen: | ||
+ | <code lua> | ||
+ | Character.Nose.Height = 8 | ||
+ | |||
+ | Character.Mouth = { | ||
+ | Type = 10, | ||
+ | Width = 15, | ||
+ | Color = "Deep Red", | ||
+ | Height = 4 | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ---- | ||
+ | |||
+ | An dieser Stelle sind die Lua-Inhalte für diese Ebene abgeschlossen. Das nächste Kapitel gibt **wichtige** Konventionen an, //wie// man Lua lesbar aufschreibt. | ||
+ | |||
+ | [[ scripting: | ||
+ | [[ scripting: | ||
+ | [[ scripting: |
scripting/tutorials/level1/tables.1685346306.txt.gz · Zuletzt geändert: 2023/05/29 07:45 von fritz_98