Was ist der effizienteste Weg, um festzustellen, ob eine Tabelle leer ist (dh derzeit weder Werte im Array-Stil noch Werte im Diktat-Stil enthält)?
Derzeit verwende ich next():
if not next(myTable) then
-- Table is empty
end
Gibt es einen effizienteren Weg?
Hinweis: Der #Operator reicht hier nicht aus, da er nur mit den Werten im Array-Stil in der Tabelle arbeitet - daher #{test=2}ist er nicht zu unterscheiden, #{}da beide 0 zurückgeben. Beachten Sie auch, dass die Überprüfung, ob die Tabellenvariable ist nil, nicht ausreicht, da ich nicht suche Nullwerte, sondern Tabellen mit 0 Einträgen (dh {}).
falsewäre dies kein erwarteter Schlüssel, so dass er einwandfreiif notfunktioniert, aber ich werde es mir wahrscheinlich zur Gewohnheit machen, ihnnilstattdessen in Zukunft zu vergleichen, nur als gute Angewohnheit. Und ja, ich habe allgemeine Dienstprogrammfunktionen aus Geschwindigkeitsgründen an lokale Variablen gebunden. Vielen Dank für die Eingabe.