我在lua中运行此代码:
cal = {num1 = 0, num2 = 0, num3 = 0,num4 = 0,num5 = 0,num6 = 0}
function cal:new (n1,n2,n3,n4,n5,n6)
local self = {}
setmetatable(self,cal)
self.num1 = n1
self.num2 = n2
self.num3 = n3
self.num4 = n4
self.num5 = n5
self.num6 = n6
return self
end
ea = cal:new(1,2,3,4,5,6)
ae = cal:new(7,8,9,10,11,12)
for k,va in pairs(ea) do print(va) end
for k,va in pairs(ae) do print(va) end
这是输出:
1
2
5
6
3
4
7
8
11
12 < br /> 9
10
为什么这个数字被弄乱了??
答案 0 :(得分:1)
答案 1 :(得分:0)
Lua不会以任何特定顺序存储表键。一种顺序打印字段的方法是添加另一种方法:
function cal:print()
print(self.num1)
print(self.num2)
print(self.num3)
print(self.num4)
print(self.num5)
print(self.num6)
end