Chiamala come
Functions.collections.cleanArray(array, except, invert)
Registrala come dipendenza chiamata Functions.collections.cleanArray (accettare il completamento lo fa per te), poi chiamala con quel nome.
Cosa fa
Rimuove voci sul posto, mantenendo per impostazione predefinita solo le chiavi elencate tra i valori di except. Con invert true rimuove le chiavi elencate e mantiene quelle non elencate. Senza un elenco di eccezioni, l'impostazione predefinita rimuove tutte le voci e invert true le mantiene tutte. Un input nil non fa nulla.
Argomenti
| Nome | Tipo | Cosa fa |
|---|---|---|
array | table | nil | Tabella da modificare, oppure nil per non fare nulla. |
except | table | nil | Raccolta facoltativa di valori chiave che selezionano le voci; le sue chiavi vengono ignorate. |
invert | boolean | nil | True rimuove le voci elencate; false o nil mantiene solo le voci elencate. |
Valori restituiti
| 1 | ... | Nessun valore restituito. La tabella fornita viene modificata sul posto. |
|---|
Edizioni
Le funzioni di supporto integrate sono registrate su ogni edizione. Ciò che cambia è l'API di gioco che leggono; dove ne manca una, la funzione di supporto ripiega su un'alternativa o restituisce nil con un motivo.
Non legge direttamente alcuna API di gioco.
Esempio
local seen = { Moonfire = true, Sunfire = true, Rake = true }
-- invert: remove the listed keys, keep the rest
Functions.collections.cleanArray(seen, { "Rake" }, true)
return seen.Rake == nil and seen.Moonfire == trueSorgente
Functions/collections.lua, riga 109. Nel gioco è in sola lettura; Duplica crea una copia modificabile.
Functions.collections.cleanArray(array, except, invert)
if array == nil then
return
end
if invert == nil then
invert = false
end
for k,_ in pairs(array) do
local skip = invert
if except ~= nil then
for _,v2 in pairs(except) do
if (k == v2) then
skip = not invert
break
end
end
end
if not skip then
array[k] = nil
end
end