Sweet Snippet 系列之 Lua表排序



function order_pairs(tbl)local names_buffer = {}for name, _ in pairs(tbl) dotable.insert(names_buffer, name)endtable.sort(names_buffer, function(a, b) return tostring(a) < tostring(b) end)local table_index = 0local function iterator()table_index = table_index + 1local key = names_buffer[table_index]return key, tbl[key]endreturn iteratorend

写个简单的测试:

local function print_table(tbl)for k, v in pairs(tbl) doprint(k .. " = " .. v)endprint "========"endlocal function print_table_order(tbl)for k, v in order_pairs(tbl) doprint(k .. " = " .. v)endprint "========"endlocal t = { [4] = "test", "order", b = "pairs", [2] = "another", a = "string" }print_table(t)print_table_order(t)

基本就是这么简单~

,我等你用尽了所有的哀伤;而你眼中却有我所不懂的凄凉。

Sweet Snippet 系列之 Lua表排序

相关文章:

你感兴趣的文章:

标签云: