【发布时间】:2014-08-11 04:52:18
【问题描述】:
我正在尝试对高级表格进行排序,但没有成功。
这是我的表结构的样子:
{
["12345"] = {12345, "Something", {"Stuff"}},
["523544"] = {523544, "Something", {"Stuff"}},
["6744"] = {6744, "Something", {"Stuff"}},
["146"] = {146, "Something", {"Stuff"}},
["724572"] = {724572, "Something", {"Stuff"}},
["54"] = {54, "Something", {"Stuff"}},
["146"] = {146, "Something", {"Stuff"}},
["146"] = {146, "Something", {"Stuff"}},
["12345"] = {12345, "Something", {"Stuff"}},
["44"] = {44, "Something", {"Stuff"}},
}
我想像这样从大到小对它进行排序:
{
["724572"] = {724572, "Something", {"Stuff"}},
["523544"] = {523544, "Something", {"Stuff"}},
["12345"] = {12345, "Something", {"Stuff"}},
["12345"] = {12345, "Something", {"Stuff"}},
["6744"] = {6744, "Something", {"Stuff"}},
["146"] = {146, "Something", {"Stuff"}},
["146"] = {146, "Something", {"Stuff"}},
["146"] = {146, "Something", {"Stuff"}},
["54"] = {54, "Something", {"Stuff"}},
["44"] = {44, "Something", {"Stuff"}},
}
我在这里遇到了一些问题。
- 不能保存2个等值的数字
- 我似乎无法正确地从大到小排序
至于为什么索引是字符串,如果我做table[623258195] = "Example",表会创建623258195个索引,导致我的程序崩溃。
至于为什么值是表,它存储了其他重要信息,即表中的第2个和第3个值是什么,第一个是索引的数字形式。
我希望我说的很清楚,如果这被认为是重复的问题,我很抱歉,我在最后一小时的搜索中没有找到任何对我有帮助的东西。
【问题讨论】:
-
您不能在不使用整数键的情况下对表进行排序。您可以使用整数键创建第二个有序表,其值等于未排序表中的相应键。稍后我会发布一个示例。
-
另外 -- 使用
table[largenum]将不会(不应该?)创建高达largenum的索引。 -
我再次测试了
table[largenum],看起来你是对的,但我记得不久前遇到过这个问题。 -
但是,我仍然不能使用索引来保存值,因为我需要能够保存多个相同的数字。在此期间,我将尝试您所说的内容。
-
"如果我执行 table[623258195] = "Example",该表将创建 623258195 个索引" Lua 的哪个实现会这样?标准的没有。