您可以在 Lua 中创建匿名代码块吗?
Can you create anonymous code blocks in Lua?
在 C 等编程语言中,您可以创建一个匿名代码块以将变量的范围限制在块内。Lua 也可以这样做吗?
如果是这样,Lua 等同于以下 C 代码的是什么?
void function()
{
{
int i = 0;
i = i + 1;
}
{
int i = 10;
i = i + 1;
}
}
您想使用 do...end
。来自 manual:
A block can be explicitly delimited to produce a single statement:
stat ::= do block end
Explicit blocks are useful to control the scope of variable
declarations. Explicit blocks are also sometimes used to add a return
or break
statement in the middle of another block
function fn()
do
local i = 0
i = i + 1
end
do
local i = 10
i = i + 1
end
end
您可以使用关键字 do
& end
.
分隔块
运行 一个匿名函数发生如下:
(function(a,b) print(a+b) end)(1,4)
它输出 5。
在 C 等编程语言中,您可以创建一个匿名代码块以将变量的范围限制在块内。Lua 也可以这样做吗?
如果是这样,Lua 等同于以下 C 代码的是什么?
void function()
{
{
int i = 0;
i = i + 1;
}
{
int i = 10;
i = i + 1;
}
}
您想使用 do...end
。来自 manual:
A block can be explicitly delimited to produce a single statement:
stat ::= do block end
Explicit blocks are useful to control the scope of variable declarations. Explicit blocks are also sometimes used to add a
return
orbreak
statement in the middle of another block
function fn()
do
local i = 0
i = i + 1
end
do
local i = 10
i = i + 1
end
end
您可以使用关键字 do
& end
.
运行 一个匿名函数发生如下:
(function(a,b) print(a+b) end)(1,4)
它输出 5。