Lua中如何按值分类表,改写成长尾?

2026-04-01 18:470阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计539个文字,预计阅读时间需要3分钟。

Lua中如何按值分类表,改写成长尾?

我有一种键=值表,想在Lua中排序。键都是整数,但不是连续的(且有含义)。Lua的排序函数类似于table.sort,它将表视为简单数组,忽略了原始密钥及其与特定项目的关联。相反,我想…

我有一个键=>值表我想在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解释器的奇怪怪癖,但是在我的所有测试中,pair()总是按照它们的顺序返回表项被添加到表中。 (即上述两个声明将不同地进行迭代)。

不幸的是,因为这不是正常的行为,看起来我不能得到我需要的东西; Lua没有内置的必要工具(当然),嵌入式环境对我来说太有限了。

不过,谢谢你的帮助,所有!

你似乎误解了一些事情。你在这里有一个 associative array.关联数组对它们没有明确的顺序,例如它只是内部表示(通常排序)来排序它们。
阅读全文

本文共计539个文字,预计阅读时间需要3分钟。

Lua中如何按值分类表,改写成长尾?

我有一种键=值表,想在Lua中排序。键都是整数,但不是连续的(且有含义)。Lua的排序函数类似于table.sort,它将表视为简单数组,忽略了原始密钥及其与特定项目的关联。相反,我想…

我有一个键=>值表我想在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解释器的奇怪怪癖,但是在我的所有测试中,pair()总是按照它们的顺序返回表项被添加到表中。 (即上述两个声明将不同地进行迭代)。

不幸的是,因为这不是正常的行为,看起来我不能得到我需要的东西; Lua没有内置的必要工具(当然),嵌入式环境对我来说太有限了。

不过,谢谢你的帮助,所有!

你似乎误解了一些事情。你在这里有一个 associative array.关联数组对它们没有明确的顺序,例如它只是内部表示(通常排序)来排序它们。
阅读全文