Chiamala come
Functions.collections.deepcopy(array, except, invert)
Registrala come dipendenza chiamata Functions.collections.deepcopy (accettare il completamento lo fa per te), poi chiamala con quel nome.
Cosa fa
Crea una copia superficiale filtrata, nonostante il nome storico deepcopy. I valori annidati mantengono le loro identità originali e la metatabella di origine non viene copiata. Per impostazione predefinita esclude le chiavi elencate tra i valori di except; con invert true include solo le chiavi elencate. Un input nil restituisce nil.
Argomenti
| Nome | Tipo | Cosa fa |
|---|---|---|
array | table | nil | Tabella da copiare in modo superficiale, oppure nil. |
except | table | nil | Raccolta facoltativa di valori chiave che selezionano le voci; le sue chiavi vengono ignorate. |
invert | boolean | nil | True include solo le voci elencate; false o nil esclude le voci elencate. |
Valori restituiti
| 1 | table | nil | Nuova tabella superficiale filtrata, oppure nil per un input nil. |
|---|
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.
Come la chiama l'addon
- Attaccabile (widget)
local unit = addon:Widget_UnitWidget(value, Functions.collections.deepcopy(addon.units, { "player", "pet" }), - Lancio interrompibile (widget)
local unit = addon:Widget_UnitWidget(value, Functions.collections.deepcopy(addon.units, { "player", "pet" }), - Incanalamento interrompibile (widget)
local unit = addon:Widget_UnitWidget(value, Functions.collections.deepcopy(addon.units, { "player", "pet" }), - Classe (widget)
local unit = addon:Widget_UnitWidget(value, Functions.collections.deepcopy(addon.units, { "player", "pet" }), - Classificazione dell'unità (widget)
local unit = addon:Widget_UnitWidget(value, Functions.collections.deepcopy(addon.units, { "player", "pet" }), - Cronologia delle azioni di combattimento (widget)
local unit = addon:Widget_UnitWidget(value, Functions.collections.deepcopy(addon.units, { "player", "pet", "target" }, true), - Tempo nella cronologia delle azioni di combattimento (widget)
local unit = addon:Widget_UnitWidget(value, Functions.collections.deepcopy(addon.units, { "player", "pet", "target" }, true), - Tipo di creatura (widget)
local unit = addon:Widget_UnitWidget(value, Functions.collections.deepcopy(addon.units, { "player", "pet" }),
e altri 12: Ostile (widget), In gruppo (widget), Immune (widget), È uguale a (widget), Contrassegnato per il PvP (widget), Resistente (widget), Ruolo (widget), In fuga (widget), Statistica del personaggio (widget), Ha un effetto benefico rubabile (widget), Minaccia (widget), PvP della zona (widget)
Sorgente
Functions/collections.lua, riga 141. Nel gioco è in sola lettura; Duplica crea una copia modificabile.
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