Функция вызова из другого lua файла

Вопрос:У меня это в 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 Единственное, что я хочу, это то, что String ("some data") из getLoggedIn(),

Вопрос:

У меня это в 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

Единственное, что я хочу, это то, что String («some data») из getLoggedIn(), но все, что я получаю, является ошибкой:

…coronamenu.lua: 51: попытка вызвать поле ‘getLoggedIn’ (значение nil)

Отпечаток никогда не достигается.
Я работаю над Corona SDK и Sublime, необходимые данные из isLoggedIn() поступают из sqlite-запроса. Как я могу достичь этой функции?

Лучший ответ:

Один прямой способ написать модуль – вернуть таблицу, которая включает в себя необходимые вам функции:

local M = {} function M.getLoggedIn() print(«Test») —… return «some data» end return M

Обратите внимание, что функция должна быть не local, или она будет закрытой.

См. PiL для других продвинутых методов.

Ответ №1

вы также можете сделать класс уплотнения

просто написав ниже строки вверху вашего класса (databaseconnection.lua)

module(…, package.seeall)

чем вызов вашей функции в main.lua, он вернет то же самое значение, которое вы хотите.

Ответ №2

Вы также можете получить свои данные таким образом.

потребовать ( “databaseconnection” ) в файле menu.lua и вызвать функцию входа в систему.

local abc = getLoggedIn()

print (abc)

Оцените статью
Добавить комментарий