【发布时间】:2022-05-13 18:15:18
【问题描述】:
我有一个键 => 值表,我想在 Lua 中排序。键都是整数,但不是连续的(并且有意义)。 Lua 唯一的排序函数似乎是table.sort,它将表视为简单数组,丢弃原始键及其与特定项目的关联。相反,我基本上希望能够使用PHP's asort() 函数。
我有什么:
items = {
[1004] = "foo",
[1234] = "bar",
[3188] = "baz",
[7007] = "quux",
}
排序操作后我想要什么:
items = {
[1234] = "bar",
[3188] = "baz",
[1004] = "foo",
[7007] = "quux",
}
有什么想法吗?
编辑:根据答案,我假设这只是我正在使用的特定嵌入式 Lua 解释器的一个奇怪的怪癖,但在我的所有测试中,pairs()始终按照添加到表中的顺序返回表项。 (即上述两个声明的迭代方式不同)。
不幸的是,因为这不是正常行为,我似乎无法得到我需要的东西; Lua 没有内置(当然)必要的工具,而且嵌入式环境太有限,我无法解决它。
不过,谢谢大家的帮助!
【问题讨论】:
-
这两张表一模一样。
标签: sorting lua lua-table asort