当前位置 : 主页 > 网络编程 > lua >

Lua – ‘结束’预期(关闭’功能’附近),不要错过’结束’

来源:互联网 收集:自由互联 发布时间:2021-06-23
我收到一个错误,说“结束”丢失了,但是我看了整个代码而没有看到它. local Grid = {}Grid.__index = Gridfunction Grid.new(w, h) do t = {} setmetatable(t,Grid) for i=1,w do t[i] = {} for j=1,h do t[i][j] = {i, j, nil}
我收到一个错误,说“结束”丢失了,但是我看了整个代码而没有看到它.

local Grid = {}
Grid.__index = Grid
function Grid.new(w, h) do
    t = {}
    setmetatable(t,Grid)
    for i=1,w do
        t[i] = {}
        for j=1,h do
            t[i][j] = {i, j, nil}
        end
    end
    return t
end
Grid.__call = Grid.new
return Grid

这是错误:

lua: grid.lua:15: 'end' expected (to close 'function' at line 3) near <eof>
删除功能行上的do.你有一个匹配函数的结尾,但没有匹配(不必要的). (实际上编译器认为结束与do匹配,然后在没有看到函数结束时抱怨.)

函数体的语法是近似的

function name( paramsopt ) block end

(这是过于简单的,请参阅the Lua reference了解详情.)

不需要做.如果它在那里,它不是函数体的语法的一部分,并且必须与相应的末端匹配.

网友评论