======next======
''next (_Table [, _Key ])'' \\
Gibt für ein Table ''_Table'' das nächste Key-Value-Paar des Tables, abhängig von ''_Key'' zurück. Ist ''_Key'' nicht angegeben, wird ein beliebiges Key-Value-Paar zurückgegeben. Ist ''_Table'' leer oder das letzte Element erreicht, wird **nil** zurückgegeben. Die Reihenfolge, in der die Key-Value-Paare des Tables zurückgegeben werden, ist undefiniert und kann jedes mal unterschiedlich sein.
===Parameter===
^Name^Typ^Beschreibung^
| **_Table** | Table | Das Table, dessen nächstes Key-Value-Paar zurückgegeben werden soll |
| **_Key** | Zahl oder String | Optionaler Parameter; Wenn angegeben, wird ein nächstes Key-Value-Paar von ''_Key'' aus zurückgegeben. Welches das ist, ist undefiniert, allerdings ist der zurückgegebene Key garantiert von ''_Key'' verschieden, wenn er nicht **nil** ist. Wird ''_Key'' nicht angegeben, wird ein beliebiges Key-Value-Paar zurückgegeben |
===Rückgabewerte===
^Name^Typ^Beschreibung^
| **Key** | Zahl, String oder **nil** | Ein Key im Table ''_Table''. Kann **nil** sein, falls ''_Table'' leer oder das letzte Element erreicht ist |
| **Value** | Beliebig | Der Value, der im Table ''_Table'' mit ''Key'' assoziiert ist. Kann **nil** sein, falls ''_Table'' leer oder das letzte Element erreicht ist |
----
Der wichtigste Anwendungsfall von ''next'' ist zu prüfen, ob ein Table leer ist:
function IsTableEmpty(_Table)
local Key, _ = next(_Table)
return Key == nil
end
Außerdem liegt ''next'' dem Iterator zugrunde, der von [[ scripting:reference:standard_library:base:pairs |pairs]] zurückgegeben wird. Folgende Schleifen sind also äquivalent:
Dictionary = {
Computer = "Rechner",
Mouse = "Maus",
Keyboard = "Tastatur",
Screen = "Bildschirm"
}
-- for-Schleife mit pairs
for Key, Value in pairs(Dictionary) do
print(Key.." bedeutet "..Value)
end
-- while-Schleife mit next
local Key, Value = next(Dictionary)
while Value ~= nil do
print(Key.." bedeutet "..Value)
Key, Value = next(Dictionary, Key)
end
Verwendete Funktionen:
* [[ scripting:reference:standard_library:base:pairs |pairs (_Table)]]