Aufruf als
Functions.collections.deepcopy(array, except, invert)
Erfassen Sie sie als Abhängigkeit mit dem Namen Functions.collections.deepcopy (das Übernehmen der Vervollständigung erledigt das) und rufen Sie sie dann unter diesem Namen auf.
Was sie bewirkt
Trotz des historischen Namens deepcopy eine flache gefilterte Kopie erstellen. Verschachtelte Werte behalten ihre ursprüngliche Identität, und die Metatabelle der Quelle wird nicht kopiert. Standardmäßig werden Schlüssel ausgeschlossen, die unter den except-Werten aufgeführt sind; invert true schließt nur die aufgeführten Schlüssel ein. Eingabe nil ergibt nil.
Argumente
| Name | Typ | Was sie bewirkt |
|---|---|---|
array | table | nil | Flach zu kopierende Tabelle oder nil. |
except | table | nil | Optionale Sammlung von Schlüsselwerten zur Auswahl von Einträgen; ihre eigenen Schlüssel werden ignoriert. |
invert | boolean | nil | True schließt nur aufgeführte Einträge ein; false oder nil schließt aufgeführte Einträge aus. |
Rückgabewerte
| 1 | table | nil | Neue flache gefilterte Tabelle oder nil bei Eingabe nil. |
|---|
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.
Wie das Addon sie aufruft
- Angreifbar (widget)
local unit = addon:Widget_UnitWidget(value, Functions.collections.deepcopy(addon.units, { "player", "pet" }), - Zauber unterbrechbar (widget)
local unit = addon:Widget_UnitWidget(value, Functions.collections.deepcopy(addon.units, { "player", "pet" }), - Kanalisierung unterbrechbar (widget)
local unit = addon:Widget_UnitWidget(value, Functions.collections.deepcopy(addon.units, { "player", "pet" }), - Klasse (widget)
local unit = addon:Widget_UnitWidget(value, Functions.collections.deepcopy(addon.units, { "player", "pet" }), - Klassifizierung der Einheit (widget)
local unit = addon:Widget_UnitWidget(value, Functions.collections.deepcopy(addon.units, { "player", "pet" }), - Kampfaktionsverlauf (widget)
local unit = addon:Widget_UnitWidget(value, Functions.collections.deepcopy(addon.units, { "player", "pet", "target" }, true), - Zeit im Kampfaktionsverlauf (widget)
local unit = addon:Widget_UnitWidget(value, Functions.collections.deepcopy(addon.units, { "player", "pet", "target" }, true), - Kreaturtyp (widget)
local unit = addon:Widget_UnitWidget(value, Functions.collections.deepcopy(addon.units, { "player", "pet" }),
und 12 weitere: Feindselig (widget), In Gruppe (widget), Immun (widget), Ist identisch mit (widget), PvP-markiert (widget), Widerstandsfähig (widget), Rolle (widget), Flüchtet (widget), Charakterwert (widget), Hat stehlbaren Stärkungszauber (widget), Bedrohung (widget), Zonen-PvP (widget)
Quelle
Functions/collections.lua, Zeile 141. Im Spiel schreibgeschützt; Duplizieren erstellt eine bearbeitbare Kopie.
Functions.collections.deepcopy(array, except, invert)
if array == nil then
return nil
end
if invert == nil then
invert = false
end
local rv = {}
for k,v 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
rv[k] = v
end
end
return rv