你能在Lua中创建匿名代码块吗?

你能在Lua中创建匿名代码块吗?,lua,anonymous,Lua,Anonymous,在C等编程语言中,您可以创建一个匿名代码块,以将变量的范围限制在块内。Lua也可以这样做吗 如果是这样的话,下面的C代码的Lua等价物是什么 void function() { { int i = 0; i = i + 1; } { int i = 10; i = i + 1; } } 您想使用do…end。从: 块可以显式分隔以生成单个语句: stat ::= do block end 显式块

在C等编程语言中,您可以创建一个匿名代码块,以将变量的范围限制在块内。Lua也可以这样做吗

如果是这样的话,下面的C代码的Lua等价物是什么

void function()
{
    {
        int i = 0;
        i = i + 1;
    }

    {
        int i = 10;
        i = i + 1;
    }
}

您想使用
do…end
。从:

块可以显式分隔以生成单个语句:

stat ::= do block end
显式块用于控制变量的范围 声明。显式块有时也用于添加
返回
或代码< >在另一个块

中间的中断< /代码>语句
您可以使用关键字
do
end
来分隔块


参考:

运行匿名函数的情况如下:
(功能(a,b)打印(a+b)结束)(1,4)


它输出5。

在Lua中,所有块都是匿名的。有些函数的甜言蜜语语法只是将函数定义与赋值相结合的风格方法。
function fn()
    do
        local i = 0
        i = i + 1
    end
    do
        local i = 10
        i = i + 1
    end
end