有些人可以帮我理解这段代码吗?
local dev
for _, dev in ipairs(devices) do
local net
for _, net in ipairs(dev:get_wifinets()) do
netlist[#netlist+1] = net:id()
netdevs[net:id()] = dev:name()
end
end
答案 0 :(得分:6)
分解,它就像这样。
local dev
不是真的需要,但我想你知道它会创建局部变量dev
。
for _, dev in ipairs(devices) do
循环索引表devices
,并将值存储在dev
本地。
local net
同样,不是真的需要。
for _, net in ipairs(dev:get_wifinets()) do
dev
使用函数get_wifinets()
,该函数反过来返回net
循环的索引表作为值。
netlist[#netlist+1] = net:id()
这将使用id()
返回的表中的值net
使用get_wifinets()
函数,并将其存储为netlist
表中的最后一个元素。
netdevs[net:id()] = dev:name()
由于我们仍然在dev
值循环的范围内,因此它采用name()
值的dev
函数并将其存储到列出的表中,无论是索引还是字典。
希望这有助于回答您的问题。