我得到了这个代码,其中“call_name”似乎保持为零。
function mdbTest(conf)
if conf.m_string:sub(6,9) == "MBUS" then
local print_name, call_name = "MBUS","mbus"
else
local print_name, call_name = "MDB","mdb"
end
local port_handler = rawio.open(string.format("/dev/%s",call_name))
end
最后,这不是一个真正的问题,因为我可以将call_name设为public,但我想知道为什么会这样。有人可以解释一下吗?
谢谢。
答案 0 :(得分:7)
call_name
在if/else
块的本地两种情况下,即:
function test()
if true then
local a = 42
end
print(a)
end
test()
→nil
修复:在其使用范围内声明它
function test()
local a
if true then
a = 42
end
print(a)
end
test()
→42