Как вызывать
Functions.collections.keys(array)
Запишите его как зависимость с именем Functions.collections.keys (принятие автодополнения делает это само) и вызывайте по этому имени.
Что делает
Собрать ключи таблицы и отсортировать их по связанным значениям через сравнение Lua «меньше». Сортируются значения, а не имена ключей; при равных значениях порядок ключей не гарантирован.
Аргументы
| Имя | Тип | Что делает |
|---|---|---|
array | table | Таблица, значения которой должны быть взаимно сравнимы. |
Возвращает
| 1 | table | Плотный массив ключей, отсортированных по связанному значению. |
|---|
Издания
Встроенные помощники регистрируются во всех изданиях. Различается игровой API, который они читают; если нужного API нет, помощник использует запасной вариант или возвращает nil с причиной.
Не читает игровой API напрямую.
Как его вызывает аддон
- Классификация юнита (widget)
class:SetList(addon.classifications, Functions.collections.keys(addon.classifications)) - История боевых действий (widget)
action:SetList(addon.actions, Functions.collections.keys(addon.actions)) - Время в истории боевых действий (widget)
action:SetList(addon.actions, Functions.collections.keys(addon.actions)) - Тип существа (widget)
class:SetList(addon.creatures, Functions.collections.keys(addon.creatures)) - Есть тип отриц. эффекта (widget)
debufftype:SetList(addon.debufftypes, Functions.collections.keys(addon.debufftypes)) - Расширенная характеристика (widget)
stat:SetList(ecs_state.stats, Functions.collections.keys(ecs_state.stats)) - Расширенная характеристика (%) (widget)
stat:SetList(ecs_state.percentages, Functions.collections.keys(ecs_state.percentages)) - В группе (widget)
unit.configure=function() unit:SetList(units,Functions.collections.keys(units));unit:SetValue(value.unit or "player") end
и ещё 9: Подземелье (widget), Здоровье в радиусе (widget), Процент здоровья в радиусе (widget), Мана в радиусе (widget), Процент маны в радиусе (widget), Роль (widget), Тотем установлен (widget), Оставшееся время тотема (widget), PvP в зоне (widget)
Исходный код
Functions/collections.lua, строка 21. В игре только для чтения; «Дублировать» создаёт редактируемую копию.
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