Aufruf als
Functions.collections.cleanArray(array, except, invert)
Erfassen Sie sie als Abhängigkeit mit dem Namen Functions.collections.cleanArray (das Übernehmen der Vervollständigung erledigt das) und rufen Sie sie dann unter diesem Namen auf.
Was sie bewirkt
Einträge direkt entfernen; standardmäßig bleiben nur Schlüssel erhalten, die unter den except-Werten aufgeführt sind. Mit invert true werden aufgeführte Schlüssel entfernt und nicht aufgeführte behalten. Ohne Ausnahmeliste entfernt der Standard jeden Eintrag, und invert true behält jeden Eintrag. Eingabe nil bewirkt nichts.
Argumente
| Name | Typ | Was sie bewirkt |
|---|---|---|
array | table | nil | Zu ändernde Tabelle oder nil, um nichts zu tun. |
except | table | nil | Optionale Sammlung von Schlüsselwerten zur Auswahl von Einträgen; ihre eigenen Schlüssel werden ignoriert. |
invert | boolean | nil | True entfernt aufgeführte Einträge; false oder nil behält nur aufgeführte Einträge. |
Rückgabewerte
| 1 | ... | Keine Rückgabewerte. Die übergebene Tabelle wird direkt verändert. |
|---|
Editionen
Integrierte Hilfsfunktionen werden auf jeder Edition registriert. Unterschiedlich ist die Spiel-API, die sie lesen; fehlt eine, weicht die Hilfsfunktion aus oder gibt nil mit einem Grund zurück.
Sie liest keine Spiel-API direkt.
Beispiel
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 == trueQuelle
Functions/collections.lua, Zeile 109. Im Spiel schreibgeschützt; Duplizieren erstellt eine bearbeitbare Kopie.
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