我有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)