[英]Calling function from a different lua-file
我在menu.lua中有這個
local db = require "databaseconnection"
...
local function onEndBtnRelease()
local thisandthat = db.getLoggedIn()
native.showAlert( "Corona SDK", thisandthat.." teststring", { "OK" } )
end
...
這在databaseconnection.lua中
local function getLoggedIn()
print("Test")
--[[...
]]--
return "some data"
end
我唯一想要的是來自getLoggedIn()
String( "some data"
getLoggedIn()
,但我得到的只是一個錯誤:
... \\ corona \\ menu.lua:51:嘗試調用字段'getLoggedIn'(零值)
永遠不會達到外包。 我正在使用Corona SDK和Sublime,來自isLoggedIn()
的所需數據來自sqlite-request。 我怎樣才能達到這個功能?
編寫模塊的一種直接方法是返回一個包含所需函數的表:
local M = {}
function M.getLoggedIn()
print("Test")
--...
return "some data"
end
return M
請注意,該函數必須是非local
,否則它將是私有的。
有關其他高級方法,請參閱PiL 。
你也可以上班
只需在類的頂部寫下面的行(databaseconnection.lua)
module(..., package.seeall)
而不是在main.lua中調用您的函數,它將返回您想要的相同值。
您也可以通過這種方式獲取數據。
在menu.lua文件中輸入require(“databaseconnection”)並調用get login函數。
local abc = getLoggedIn()
打印(abc)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.