将lua代码转发给另一个
我有一个lua代码,我从另一个lua文件调用了该代码,希望分配一个值并打印出该值,但我得到的是“nil”,请您帮助我。 代码如下:将lua代码转发给另一个,lua,Lua,我有一个lua代码,我从另一个lua文件调用了该代码,希望分配一个值并打印出该值,但我得到的是“nil”,请您帮助我。 代码如下: 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()
print(a)
输出:
零
此函数不返回任何内容
所以
相当于
local a = nil
因此
零
是预期的产量
print(a)
函数不会隐式返回最后一条语句的结果。如果没有显式的
return
,则Lua隐式地return
snil
——这意味着您的代码本质上是
function main_setup()
package.path = package.path ..";C:/Users/kude/Desktop/mqtt1/?.lua"
require "ds18b20"
return nil
end
如果正在加载的文件
返回一个值(或将其分配给package.loaded
),则require
将返回该值。若要让气泡进一步上升,请在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)
function main_setup()
package.path = package.path ..";C:/Users/kude/Desktop/mqtt1/?.lua"
require "ds18b20"
return nil
end
function main_setup()
package.path = package.path ..";C:/Users/kude/Desktop/mqtt1/?.lua"
return require "ds18b20"
end
local a = main_setup()
print(a)