“结束”和“结束”之间的区别?

时间:2018-02-04 08:58:01

标签: lua

前一段时间我偶然发现了使用end的脚本教程。但是,几页之后,我发现了end)而不是end。所以我对此感到困扰,最后的括号是什么?

2 个答案:

答案 0 :(得分:1)

没有end)语法。 end)都有自己的含义。 end关闭了一个区块(由iffordowhilefunction启动,)关闭了以(开头,括号中的表达式,参数列表等。您必须使用end来启动块,并使用)来启动(

由于块在表达式中出现的唯一方式是通过函数,如果函数是复杂表达式或参数列表的一部分,则语法的这两部分可以一起出现。但是,它并没有什么特别的,像end}end]这样的东西可能会出现同样的情况。

local func = function() print("hello") end
string.dump(func)

这与:

相同
string.dump(function() print("hello") end)

endfunction语法(函数表达式)的一部分,)(语法的一部分(此处调用函数)。

第一段代码中的第一行也可以这样写:

local func = (function() print("hello") end)

在这里,)只关闭第一个括号,表达式与原始表达式相同。

答案 1 :(得分:0)

我假设您正在谈论ROBLOX的Lua修改版本,如果是这样的话 结束)将结束:例如,连接。

workspace.part.Touched:connect(function(part)
--stuff
end) 

如果没有,请参阅llidanS4的答案。