20
|
Ben Blank Jarret Hardie · 技术社区 · 15 年前 |
![]() |
1
36
你好像误解了什么。这里有一个 associative array . 关联数组在它们上面没有明确的顺序,例如,只有内部表示(通常是排序的)对它们排序。 简而言之——在Lua中,您发布的两个数组都是 相同的 . 相反,你想要的是这样一种表现:
虽然你现在不能通过索引获得它们(它们被索引为1,2,3,4,但是你
可以
创建另一个索引数组),可以使用
排序函数将是:
|
![]() |
2
8
正如Komel所说,您要处理的是联合数组,它没有保证的顺序。 如果您希望在保留关联数组功能的同时基于其关联值进行键排序,可以执行以下操作:
SortedKeys是1234318810047007,您可以这样访问数据:
结果:
|
![]() |
3
6
嗯,错过了无法控制迭代的部分。那里 但在卢亚,通常有一种方法。 http://lua-users.org/wiki/OrderedAssociativeTable 这是一个开始。现在您需要替换库使用的pairs()。这可能是一个简单的配对=我的配对。然后您可以使用上面链接中的解决方案 |
![]() |
4
3
PHP数组不同于Lua表。
当程序员选择使用整数1、2、3,…作为钥匙。语言语法和标准库函数,比如
因此,如果您想要模拟一个PHP数组,您必须使用键值对列表来表示它,这实际上是一个表表表,但是将它看作键值对列表会更有用。将自定义的“小于”函数传递给
N.B.Lua允许你 混合 连续整数键和 相同的 表和表示是有效的。我有时会使用这个特性,通常用一些元数据标记数组。 |
![]() |
5
3
几个月后,用同样的查询来讨论这个问题。推荐的答案似乎可以精确地指出Lua中所需的内容和它的外观之间的差距,但它并不能确切地告诉我我需要什么:这是一个按键排序的哈希。 然而,本页的前三个功能是: http://lua-users.org/wiki/SortedIteration |
![]() |
6
1
几年前我做了一个简短的Lua编码,但我不再熟练。
当遇到类似的问题时,我将数组复制到另一个具有反转键和值的数组,然后使用
我不知道使用Kornel-Kisilewicz推荐的方法对数组进行排序的可能性。 |
![]() |
user1610406 · 如何自动创建Lua表 9 年前 |
![]() |
Richard Avalos · Lua表的函数效率 9 年前 |
![]() |
pugnator · 从同一表字段调用C函数时,获取表作为自动参数 10 年前 |
|
jawo · 将表解析为字符串后->反转(将字符串解析为表) 10 年前 |
|
user3454119 · 如何保存布尔条件并稍后求值 11 年前 |
![]() |
memory of a dream · 将带有字符串键的表值插入Lua表 11 年前 |
![]() |
Petya petrov · 使用lua对嵌套表进行排序 12 年前 |