我有lua代码,我从另一个lua文件中调用并希望分配一个值并打印出该值,但我得到“无”,请您帮助我。 这里是代码:转发lua代码到另一个
function main_setup()
package.path = package.path ..";C:/Users/kude/Desktop/mqtt1/?.lua"
require "ds18b20"
end
local a = main_setup()
print(a)
输出:
零
我有lua代码,我从另一个lua文件中调用并希望分配一个值并打印出该值,但我得到“无”,请您帮助我。 这里是代码:转发lua代码到另一个
function main_setup()
package.path = package.path ..";C:/Users/kude/Desktop/mqtt1/?.lua"
require "ds18b20"
end
local a = main_setup()
print(a)
输出:
零
function main_setup()
package.path = package.path ..";C:/Users/kude/Desktop/mqtt1/?.lua"
require "ds18b20"
end
此函数不返回任何东西。
所以
local a = main_setup()
相当于
local a = nil
因此
零
是
预期输出print(a)
函数不会隐式返回最后一条语句的结果。如果没有明确的return
,Lua的隐含return
小号nil
- 这意味着你的代码基本上
function main_setup()
package.path = package.path ..";C:/Users/kude/Desktop/mqtt1/?.lua"
require "ds18b20"
return nil
end
如果文件你加载return
SA值(或将其分配给package.loaded
),然后require
会返回该值。为了让这个泡沫更进一步,在要求前加上return
:
function main_setup()
package.path = package.path ..";C:/Users/kude/Desktop/mqtt1/?.lua"
return require "ds18b20"
end
local a = main_setup()
print(a)