Riferimento › Riferimento delle funzioni › Functions

Functions.collections.cleanArray

pubblica

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

NomeTipoCosa fa
arraytable | nilTabella da modificare, oppure nil per non fare nulla.
excepttable | nilRaccolta facoltativa di valori chiave che selezionano le voci; le sue chiavi vengono ignorate.
invertboolean | nilTrue 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 == true

Sorgente

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

Torna a Riferimento delle funzioni