簡體   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