如何在Lua中返回语句后放置标签?

rig*_*old 5 lua goto return

以下结果导致第三行语法错误:

function f()
    return
    ::x::   
end
Run Code Online (Sandbox Code Playgroud)

为什么返回声明后不可能有标签?

rig*_*old 6

return语句必须是块中的最后一个语句,所以只需将return语句放在一个块中:

function f()
    do
        return
    end
    ::x::   
end
Run Code Online (Sandbox Code Playgroud)

  • 好吧,我在吃手册的时候发现了它.我真正感兴趣的是*为什么*他们添加了限制的原因.我的意思是,它不是很直观,一开始需要额外的努力才能维持...... (4认同)