Chame como
Functions.collections.keys(array)
Registre-a como uma dependência chamada Functions.collections.keys (aceitar o preenchimento automático faz isso) e depois chame-a por esse nome.
O que faz
Coleta as chaves de uma tabela e as ordena pelos valores associados usando a comparação menor que do Lua. Ordena os valores, não os nomes das chaves; valores iguais não têm ordem de chaves garantida.
Argumentos
| Nome | Tipo | O que faz |
|---|---|---|
array | table | Tabela cujos valores precisam ser comparáveis entre si. |
Retornos
| 1 | table | Array denso de chaves ordenadas pelo valor associado. |
|---|
Edições
As funções auxiliares integradas são registradas em todas as edições. O que muda é a API do jogo que elas leem; quando uma está ausente, a função auxiliar recorre a uma alternativa ou retorna nil com um motivo.
Não lê nenhuma API do jogo diretamente.
Como o addon a chama
- Classificação da unidade (widget)
class:SetList(addon.classifications, Functions.collections.keys(addon.classifications)) - Histórico de ações de combate (widget)
action:SetList(addon.actions, Functions.collections.keys(addon.actions)) - Tempo do histórico de ações de combate (widget)
action:SetList(addon.actions, Functions.collections.keys(addon.actions)) - Tipo de criatura (widget)
class:SetList(addon.creatures, Functions.collections.keys(addon.creatures)) - Tipo de penalidade presente (widget)
debufftype:SetList(addon.debufftypes, Functions.collections.keys(addon.debufftypes)) - Atributo estendido do personagem (widget)
stat:SetList(ecs_state.stats, Functions.collections.keys(ecs_state.stats)) - Porcentagem de atributo estendido do personagem (widget)
stat:SetList(ecs_state.percentages, Functions.collections.keys(ecs_state.percentages)) - Em grupo (widget)
unit.configure=function() unit:SetList(units,Functions.collections.keys(units));unit:SetValue(value.unit or "player") end
e mais 9: Instância (widget), Vida ao alcance (widget), Porcentagem de vida ao alcance (widget), Mana ao alcance (widget), Porcentagem de mana ao alcance (widget), Função (widget), Totem presente (widget), Tempo restante do totem (widget), JxJ da zona (widget)
Código-fonte
Functions/collections.lua, linha 21. Somente leitura no jogo; Duplicar cria uma cópia editável.
Functions.collections.keys(array)
local rv = {}
for k,_ in pairs(array) do
table.insert(rv, k)
end
-- Sort the keys
table.sort(rv, function (lhs, rhs) return array[lhs] < array[rhs] end)
return rv