使保留字成为Lua中的标识符/变量



我想把一个保留字(while、for、and等)变成一个函数变量。我该怎么做?

保留这些词是有原因的。你不能把它们变成变量。唯一的解决方案(如果您希望您的代码以特定但错误的方式查看)是将它们修改为 for_ 或 for1 等。没有转义序列可用于取消保留以前保留的关键字。

这将起作用,尽管不鼓励这样做。

_G["for"] = 42
print(_G["for"])

编辑以回答评论:正如AdrianMar所说,他们保留是有原因的。另外,你为什么要这样做?你不太可能必须这样做。最后,引用《Lua编程》一书(第14章):

但是要注意:一些程序员对这些工具有点兴奋,最终编写了像_G["a"] = _G["var1"]这样的代码,这只是编写a = var1的复杂方法。

请改用表格。可能有一个简短的名字。

x = {}
x.while = ...
x.for = ...
print(x.for)

编辑:这将不起作用。道歉。

最新更新