Quelle est la manière la plus efficace de déterminer si une table est vide (c'est-à-dire qu'elle ne contient actuellement ni valeurs de style tableau ni valeurs de style dict)?
Actuellement, j'utilise next()
:
if not next(myTable) then
-- Table is empty
end
Existe-t-il un moyen plus efficace?
Remarque: L' #
opérateur ne suffit pas ici, car il n'opère que sur les valeurs de style tableau dans la table - il #{test=2}
est donc impossible de distinguer #{}
car les deux renvoient 0. Notez également que vérifier si la variable de table est nil
ne suffit pas car je ne recherche pas valeurs nulles, mais plutôt des tables avec 0 entrées (ie {}
).
false
ce ne serait pas une clé attendue, donc celaif not
fonctionnait bien, mais je prendrai probablement l'habitude de comparer à lanil
place à l'avenir, tout comme une bonne habitude. Et oui, j'ai lié les fonctions utilitaires communes aux variables locales pour la vitesse. Merci pour votre contribution.