4
我有一个程序,它可以为每个用户汇总以kb为单位的总下载数据的总计下载总数。在Lua中通过嵌套值对表格进行排序
local table = {}
table[userID] = {5, 23498502}
我的目标是,printTable
功能会产生用户在通过KB量降序排列整个列表的输出下载v[2]
local aUsers = {}
...
function topUsers(key, nDownloads, totalSize)
if aUsers[key] then
aUsers[key][1] = aUsers[key][1] + nDownloads
aUsers[key][2] = aUsers[key][2] + totalSize
else
aUsers[key] = {nDownloads, totalSize}
end
end
function printTable(t)
local str = ""
-- How to sort 't' so that it prints in v[2] descending order?
for k,v in pairs(t) do
str = str .. k .. ", " .. v[1] .. ", " .. v[2] .. "\n"
end
return str
end
...
任何想法我怎么能做到这一点?