=====Das table-Modul===== Eine Liste der in Siedler 5 verfügbaren Funktionen des Lua-table-Moduls mit einer kurzen Beschreibung. Verlinkt sind ausführlichere Doku-Seiten. ^ Funktion ^ Beschreibung ^ | [[ scripting:reference:standard_library:table:concat |table.concat (_Table [, _Separator [, _i [, _j] ] ] )]] | Fügt die Inhalte eines **[[ scripting:tutorials:level1:tables#tables_als_listen |numerischen Tables]]** ''_Table'' in einem String zusammen, beginnend bei Index ''_i'' (standardmäßig ''1'') und endend bei Index ''_j'' (standardmäßig die Größe des Tables). Die einzelnen Werte sind durch ''_Separator'' (standardmäßig ''""'') getrennt. | | [[ scripting:reference:standard_library:table:foreach |table.foreach (_Table, _F)]] | Wendet die Funktion ''_F'' auf jeden Eintrag im Table ''_Table'' so lange an, bis ''_F'' nicht **nil** zurückgibt. Dabei wird ''_F'' in jeder Iteration ein Schlüssel-Wert-Paar übergeben. ''table.foreach'' gibt dann den letzten Rückgabewert von ''_F'' zurück. | | [[ scripting:reference:standard_library:table:foreachi |table.foreachi (_Table, _F)]] | Wendet die Funktion ''_F'' auf jeden **[[ scripting:tutorials:level1:tables#tables_als_listen |numerischen]]** Eintrag im Table ''_Table'' so lange an, bis ''_F'' nicht **nil** zurückgibt. Dabei wird ''_F'' in jeder Iteration ein Index-Wert-Paar übergeben, aufsteigend von ''1'' bis ''n'' (''n'' = Größe des Tables). ''table.foreachi'' gibt dann den letzten Rückgabewert von ''_F'' zurück. | | [[ scripting:reference:standard_library:table:getn |table.getn (_Table)]] | Gibt die Anzahl der sequentiellen numerischen Einträge im Table ''_Table'' zurück (also wie viele Einträge von Index ''1'' aufwärts ununterbrochen im Table sind). | | [[ scripting:reference:standard_library:table:insert |table.insert (_Table, [_Index,] _Value)]] | Fügt einen **[[ scripting:tutorials:level1:tables#tables_als_listen |numerischen]]** Eintrag in das Table ''_Table'' am Index ''_Index'' (standardmäßig Größe des Tables + 1, also ans Ende) ein. Falls ''_Index'' schon mit einem Wert belegt ist, wird dieser und alle nachfolgenden um einen Index nach oben verschoben. | | [[ scripting:reference:standard_library:table:remove |table.remove (_Table, [_Index,] )]] | Entfernt einen **[[ scripting:tutorials:level1:tables#tables_als_listen |numerischen]]** Eintrag aus dem Table ''_Table'' am Index ''_Index'' (standardmäßig Größe des Tables, also den letzten) und gibt den Wert des entfernten Eintrags zurück. Falls auf den Index ''_Index'' noch weitere Einträge folgen, werden deren Indizes um 1 reduziert, um die entstandene Lücke wieder zu schließen. | | [[ scripting:reference:standard_library:table:setn |table.setn (_Table, _n )]] | Setzt die Größe eines **[[ scripting:tutorials:level1:tables#tables_als_listen |numerischen]]** Tables ''_Table'' auf ''_n'', sodass [[ scripting:reference:standard_library:table:getn |table.getn]] genau diesen Wert zurückgibt. | | [[ scripting:reference:standard_library:table:sort |table.sort (_Table, [, _Comparator]) ]] | Ordnet die Einträge eines **[[ scripting:tutorials:level1:tables#tables_als_listen |numerischen]]** Tables ''_Table'' so an, dass sie gemäß der Vergleichsfunktion ''_Comparator'' (standardmäßig ''<'') aufsteigend sortiert sind. Der ''_Comparator'' muss in der Lage sein, zwei beliebige Einträge des Tables miteinander vergleichen zu können. |