호출 방법
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