lua 5.2更改表中元素的顺序 [英] lua 5.2 changes the order of elements in the table

查看:209
本文介绍了lua 5.2更改表中元素的顺序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在lua 5.1中,代码:

In lua 5.1 the code:

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中,序列以随机顺序呈现:

In lua 5.2, the sequence is presented in random order:

(第一次执行)

I1
I2
LD4
I3
LD1
LD2
LD3

第二次执行)

LD2
LD3
LD4
I3
I1
I2
LD1

为什么当我使用lua 5.2时出现此错误

why this error happens when I use lua 5.2?

推荐答案

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

Lua 5.2.1 introduced some randomization of seeds for hashing.

这篇关于lua 5.2更改表中元素的顺序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆