当我使用"对于"我在lua中的表只打印nil填补它

时间:2018-05-25 01:31:04

标签: lua

我想用代码构造一个配置文件:   但是,我的代码错了,为什么?最后一行只打印nil,nil,nil ......

-- Define ten network interfaces
interfaces = {} -- Define an empty table
for n = 1, 10 do
interfaces[n] = {
device = "eth"..n,
address = "192.168.1."..n
}
end
for k, v in pairs(interfaces) do print(device,address) end

1 个答案:

答案 0 :(得分:2)

在下面的代码中,名称deviceaddress被解析为未定义的全局变量。因此输出中的nils。

for k, v in pairs(interfaces) do print(device,address) end

请改为尝试:

for k, v in pairs(interfaces) do print(v.device,v.address) end

由于未定义pairs遍历的对的顺序,如果您需要按顺序输出列表,请使用ipairs