Qual è il modo più efficiente per determinare se una tabella è vuota (ovvero, al momento non contiene né valori di stile di matrice né valori di stile di dettatura)? ciIl modo più efficace per determinare se una tabella Lua è vuota (non contiene voci)?
if not next(myTable) then
-- Table is empty
end
è un modo più efficiente:
Attualmente, sto usando next()
?
Nota: L'operatore #
non basta qui, in quanto opera solo sui valori matrice stile nella tabella - così #{test=2}
è indistinguibile da #{}
perché entrambi ritorno 0. Si noti inoltre che il controllo se la variabile tabella è nil
fa non è sufficiente in quanto non sto cercando valori nulli, ma piuttosto tabelle con 0 voci (ovvero {}
).
Buon punto sulla correttezza tecnica; nei casi particolari in cui ho utilizzato il codice originale, 'false' non sarebbe una chiave prevista, quindi il' if not' funzionava bene, ma probabilmente userò il paragone con 'nil' invece in futuro , proprio come una buona abitudine. E sì, ho impegnato funzioni comuni di utilità per le vars locali per la velocità. Grazie per l'input però. – Amber
Trovo difficile concordare con l'errore quando il codice funziona come previsto –
Perché guadagniamo velocità facendo 'local next'? – Moberg