在Lua中将保留字作为标识符/变量?

时间:2011-04-03 14:07:25

标签: lua

我想要一个保留字(while,for,and等)一个函数变量。我怎么能这样做?

3 个答案:

答案 0 :(得分:11)

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

答案 1 :(得分:3)

这会起作用,但不鼓励。

_G["for"] = 42

print(_G["for"])

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

  

请注意:一些程序员对这些工具感到有些兴奋,最终编写了_G["a"] = _G["var1"]之类的代码,这只是编写a = var1的一种复杂方式。

答案 2 :(得分:-1)

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

x = {}
x.while = ...
x.for = ...

print(x.for)

编辑:这将 NOT 工作。道歉。