У меня есть следующий код, который должен вернуть мне отсортированный массив на основе его значения «pos».Значение сортировки ассоциативного массива
local tables = {}
table.insert(tables,{ ['pos']=2, ['name'] = 'C' })
table.insert(tables, {['pos']=1, ['name'] = 'A' })
table.insert(tables,{ ['pos']=30, ['name'] = 'D'})
function comp(w1,w2)
if tonumber(w1['pos']) > tonumber(w2['pos']) then
return true
end
end
table.sort(tables, comp)
for key,val in pairs(tables) do
print(val['name'])
end
Результат:
Д С
Ожидаемое (в алфавитном порядке его "поз"):
A, C, D
Что неправильно?
Кроме того, это более простой синтаксис работает: 'w1.pos
lhf