功能结束附近是否遗漏了‘结束’指令?

2026-04-01 19:321阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计327个文字,预计阅读时间需要2分钟。

功能结束附近是否遗漏了‘结束’指令?

我发现了一个错误,结束这个词丢失了,但看了整个代码并没有发现它。代码如下:

lualocal Grid={}Grid.__index=Grid

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

我收到一个错误,说“结束”丢失了,但是我看了整个代码而没有看到它.

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了解详情.)

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

本文共计327个文字,预计阅读时间需要2分钟。

功能结束附近是否遗漏了‘结束’指令?

我发现了一个错误,结束这个词丢失了,但看了整个代码并没有发现它。代码如下:

lualocal Grid={}Grid.__index=Grid

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

我收到一个错误,说“结束”丢失了,但是我看了整个代码而没有看到它.

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了解详情.)

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