{ {type='rows', default={font={size=21}, line_height=25}, {type='text', font={size=28}, line_height=50, {'Lua@{Lua} > Tabellen', attrs={ Lua={target='--lua'}, }}, }, {type='filler', height=15}, {type='text', "Luas Tabellen sind eine vielseitige Art, Daten so zu gruppieren, dass sie leicht zu schneiden und zu würfeln sind."}, {type='filler', height=15}, {type='text', '{} ist ein leerer Tabellenwert/Ausdruck.'}, {type='filler', height=10}, {type='text', {'h = {11, 12, 13} erstellt ein kurs@{Array}, eine Tabelle, die über Zahlen-kurs@{Schlüssel} nachgeschlagen werden kann.', attrs={ kurs={font={italic=true}}}}}, {type='text', ' h[1] ist jetzt 11, h[2] ist 12 und so weiter.'}, {type='filler', height=10}, {type='text', 'h = {a=34} erstellt eine Tabelle, die über String-Schlüssel nachgeschlagen werden kann.'}, {type='text', " h['a'] ist jetzt 34, h['b'] ist 35."}, {type='text', ' Du kannst konstante String-Schlüssel auch mit Punkten verkürzen. h.a ist 34, h.b ist 35.'}, {type='filler', height=10}, {type='text', 'wenn h ein Array ist. #h ist ein Ausdruck, der die Länge von h zurückgibt'}, {type='text', " String-Schlüssel zählen nicht zur Länge eines Arrays."}, {type='text', ' Arrays hören auch beim ersten fehlenden/nil-Slot auf. Die Länge von {1, 2, nil, 4} ist 2.'}, {type='filler', height=15}, {type='text', 'Einige nützliche Funktionen für Tabellen:', font_size=28}, {type='filler', height=15}, {type='text', 'pairs(h)', font={size=24}}, {type='text', {' Gibt einen kurs@{Iterator} zurück, eine Art Funktion, die es dir ermöglicht, bequem über alle Schlüssel einer Tabelle zu iterieren.', attrs={ kurs={font={italic=true}}}}}, {type='text', ' Zum Beispiel wird dieses Programm den Inhalt einer Tabelle ausgeben: for key, value in pairs(h) do print(key, value) end'}, {type='filler', height=15}, {type='text', 'Einige nützliche Funktionen für Arrays:', font_size=28}, {type='filler', height=15}, {type='text', 'ipairs(h)', font={size=24}}, {type='text', " Gibt einen Iterator zurück, der es dir ermöglicht, bequem über Indizes und Elemente eines Arrays zu iterieren."}, {type='text', ' Zum Beispiel wird dieses Programm den Inhalt eines Arrays ausgeben: for _, x in ipairs(h) do print(x) end'}, {type='filler', height=10}, {type='text', 'table.insert(h, value)', font={size=24}}, {type='text', ' Hängt einen Wert an das Ende des Arrays h an.'}, {type='filler', height=10}, {type='text', 'table.insert(h, index, value)', font={size=24}}, {type='text', ' Fügt einen Wert bei index in der Mitte des Arrays h ein.'}, {type='filler', height=10}, {type='text', 'table.remove(h)', font={size=24}}, {type='text', ' Entfernt den Wert am letzten Index des Arrays h.'}, {type='filler', height=10}, {type='text', 'table.remove(h, index)', font={size=24}}, {type='text', ' Entfernt den Wert bei index in der Mitte des Arrays h und verdichtet spätere Werte nach oben.'}, {type='filler', height=10}, {type='text', 'table.sort(h)', font={size=24}}, {type='text', ' Sortiert die Elemente im Array h.'}, {type='filler', height=10}, {type='text', 'table.sort(h, f)', font={size=24}}, {type='text', ' Sortiert die Elemente im Array h nach einer benutzerdefinierten Vergleichsfunktion f.'}, {type='text', ' f muss 2 Argumente akzeptieren und true zurückgeben, wenn das erste kleiner als das zweite ist.'}, {type='filler', height=10}, {type='text', 'table.reverse(h)', font={size=24}}, {type='text', ' Kehrt die Reihenfolge der Elemente des Arrays h um, sodass das letzte Element das erste wird, etc.'}, {type='filler', height=10}, {type='text', 'table.concat(h)', font={size=24}}, {type='text', ' Hängt alle Elemente des Arrays h zu einem einzigen String zusammen und gibt ihn zurück.'}, {type='text', ' Alle Elemente müssen Strings sein.'}, } }