Lua/电晕EOF错误
(这是我的第一个问题。) 这是一个EOF文件结束错误,其中表示在我的第19行附近预期会出现EOF,您可以在下面的代码中看到Lua/电晕EOF错误,lua,coronasdk,eof,Lua,Coronasdk,Eof,(这是我的第一个问题。) 这是一个EOF文件结束错误,其中表示在我的第19行附近预期会出现EOF,您可以在下面的代码中看到 display.setStatusBar(display.HiddenStatusBar) local director = {scene = 'main'} function director:changeScene (moduleName) if type(moduleName) == 'nil' or self.scene == moduleName the
display.setStatusBar(display.HiddenStatusBar)
local director = {scene = 'main'}
function director:changeScene (moduleName)
if type(moduleName) == 'nil' or self.scene == moduleName then return end
local loadedModule = package.loaded[self.scene]
if type(loadedModule) == 'table' and type(loadedModule.clean) == 'function' then
loadedModule.clean()
end
if self.view then self.view:removeSelf() end
if self.scene ~= 'main' and type(loadedModule) == 'table' then
package.loaded[self.scene], self.view, loadedModule = nil
collectgarbage('collect')
end
self.view, self.scene = require(moduleName).new(), moduleName
end
return director
local mainGroup = display.newGroup() -- This is line 19
maingroup:insert(director.directorView)
director:changeScene("mainPage.lua")
return mainGroup
(如果您不知道,director是一种手动访问文件的方法,这不是代码中的问题。) 错误是: 第19行 “”应接近“本地” 第19行是:localmaingroup=display.newGroup()
请参阅my以了解有关该问题的一些背景信息。在
返回之后,不能有进一步的语句:返回必须是块中的最后一条语句
但在我看来,您似乎忘记了结束
之后的返回
我注释掉了从本地mainGroup开始的行,没有收到错误报告,只有一个空白屏幕。这是否应该发生,因为我认为它转到了另一个页面(虽然我不确定)。在返回之前似乎有一个额外的end
。当我删除它时,它说末端应该在“local”附近的第4行关闭该函数。我不需要最后4行吗?我重新格式化了您的代码片段,以便在Lua看到这些块时更清楚地显示它们。这表明Lua将函数视为在返回控制器
上方和本地mainGroup=
之前结束。在我看来,我同意lhf的观点,返回控制器属于函数内部。但在那之后,这都是一个Corona框架问题,我不使用Corona。我建议在您的工具包中添加一个理解Lua的像样的编码编辑器。这将是一个很好的选择,因为它提供了一个调试器,甚至可以对Corona应用程序进行实时编码,它广泛跨平台,并在Mac上运行,而且它具有非常好的语法和静态分析工具功能,有助于在错误变成bug之前防止错误。