繁体   English   中英

从不同的lua文件调用函数

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM