我知道Lua的5.3版本是在不久前发布的,但是直到现在还没有理由在线访问该文档。我可能是错的,但是我不记得要记住双冒号的用法,因为::
它在那里使用得非常广泛。
我看到它被视为“特殊标记”,就像其他标记一样(大于,小于星号等),但我知道这些标记的用途。
在Lua中使用它们的目的是什么?
::
在Lua中仅用于* *:
声明要使用跳转的标签goto
。
goto label ::label::
该
goto
语句将程序控件转移到标签。出于语法原因,Lua中的标签也被视为语句:stat ::= goto Name stat ::= label label ::= ‘::’ Name ‘::’标签在定义它的整个块中可见,但在嵌套块中(定义了相同名称的标签)和嵌套函数中,标签除外。只要goto不进入局部变量的范围,它就可以跳转到任何可见的标签。
标签和空语句称为空语句,因为它们不执行任何操作。
*在Lua本身的文档使用中,我不考虑扩展BNF的广泛使用。