Gibt es eine Methode, um zu überprüfen, ob eine Tabelle einen Wert enthält? Ich habe meine eigene (naive) Funktion, aber ich habe mich gefragt, ob es dafür etwas "Offizielles" gibt. Oder etwas effizienteres ...
function table.contains(table, element)
for _, value in pairs(table) do
if value == element then
return true
end
end
return false
end
Der Hauptgrund, warum ich diese Funktionen verwende, ist übrigens, Tabellen als Mengen zu verwenden, dh ohne doppelte Elemente. Gibt es noch etwas, das ich gebrauchen könnte?
_
. pairs()
gibt zurück key, value
, aber in diesem Beispiel brauche ich nur den Wert. Es ist eine Art Konvention (übernommen im Buch "Programming in Lua" lua.org/pil/index.html ), diese _
Variable zum Speichern von Dingen zu verwenden, die Sie nicht benötigen.
_
die auch in Python und JavaScript verwendet werden.