在诸如C之类的编程语言中,您可以创建一个匿名代码块来将变量的范围限制在块内,可以使用Lua完成相同的操作吗?
如果是这样,以下C代码的Lua等价物是什么?
void function()
{
{
int i = 0;
i = i + 1;
}
{
int i = 10;
i = i + 1;
}
}
Run Code Online (Sandbox Code Playgroud)
你想用do...end.从手册:
可以明确分隔块以生成单个语句:
Run Code Online (Sandbox Code Playgroud)stat ::= do block end显式块对于控制变量声明的范围很有用.显式块有时也用于在另一个块的中间添加
return或break声明
function fn()
do
local i = 0
i = i + 1
end
do
local i = 10
i = i + 1
end
end
Run Code Online (Sandbox Code Playgroud)