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

标签 lua anonymous

在诸如 C 之类的编程语言中,您可以创建一个匿名代码块来将变量的范围限制在 block 内,Lua 也可以这样做吗?

如果是这样,以下 C 代码的 Lua 等效项是什么?

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

关于lua - 你能在 Lua 中创建匿名代码块吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34712599/

相关文章:

lua - 如何在Lua中将对象作为回调参数传递

dynamic - Lua函数调用,参数列表在字符串中

java - 匿名类、继承和覆盖

types - 由类型文字定义的类型的结构字段上的方法

lua 尝试调用方法 'len'(一个 nil 值)

c++ - 如何使可插拔工厂与lua一起工作?

json - 删除 luajson 输出中的新行和制表符

java - 内部类究竟是如何访问外部类中的元素的?

c++ - 在 C++ 的范围 for 循环中使用匿名数组

c++ - 哪些标准允许在 C 和 C++ 中使用匿名结构和 union ?