dictionary - lua 5.2 改变表格中元素的顺序

标签 dictionary lua lua-table

在 lua 5.1 中的代码:

sums = { 
    ["LD1"] = { }, 
    ["LD2"] = { }, 
    ["LD3"] = { }, 
    ["LD4"] = { }, 
    ["I1"] = { }, 
    ["I2"] = { }, 
    ["I3"] = { }
}

for fld = 1, 22, 1 do
    table.insert( sums["LD1"] , 0 );
    table.insert( sums["LD2"] , 0 );
    table.insert( sums["LD3"] , 0 );
    table.insert( sums["LD4"] , 0 );
    table.insert( sums["I1"] , 0 );
    table.insert( sums["I2"] , 0 );
    table.insert( sums["I3"] , 0 );
end

for i,O in pairs(sums) do
    print(i)
end

显示序列:

(第一次执行)
LD1
LD2
LD3
LD4
I1
I2
I3

(第二次执行)
LD1
LD2
LD3
LD4
I1
I2
I3

在 lua 5.2 中,序列以随机顺序呈现:

(第一次执行)
I1
I2
LD4
I3
LD1
LD2
LD3

(第二次执行)
LD2
LD3
LD4
I3
I1
I2
LD1

为什么在使用 lua 5.2 时会发生此错误?

最佳答案

Lua 5.2.1 引入了一些用于散列的种子随机化。

关于dictionary - lua 5.2 改变表格中元素的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11974950/

相关文章:

python - 在 Python 中随机改组字典

database - 通用开源分类数据库

python - 如何在Python 3中映射两个不同长度的列表?

lua - Lua 模式可以表示任何常规语言吗?

list - 在 Lua 列表中搜索项目

swift - 给定两个包含不同容量数组的字典,将元素添加到填充较少的数组

python - Lua:用2的幂分解一个数

lua - 哇 Lua 进行 http 调用

lua - 表格插入给出零错误

c++ - 如何将表从 Lua 传递到 C++?