Lua中const关键字有类似功能吗?
- 内容介绍
- 文章标签
- 相关推荐
本文共计355个文字,预计阅读时间需要2分钟。
Lua中有一个const关键字吗?还是其他类似的东东?因为我想将我的变量定义为const,并阻止变量的值的更改。提前致谢。Lua不自动支持常量,但你可以通过其他方式实现类似功能。例如,你可以将常量值放入一个表中,并阻止对表的修改。如下所示:将常量放入表中:`local myConstants={PI=3.14159, MAX_VALUE=100}`然后,通过检查是否尝试修改值来防止修改:luafunction isConstantValue(value) local constants=myConstants return type(value)==table and value==constantsend
function setConstantValue(key, value) if isConstantValue(value) then myConstants[key]=value else error(Cannot set a non-constant value as a constant.) endend
-- 设置常量setConstantValue(PI, myConstants.PI)
-- 尝试更改常量的值local ok, err=pcall(function() myConstants.PI=3.14end)
if ok then print(Value changed successfully.)else print(Error: .. err)end
lua中有一个const关键字吗?还是其他类似的东西?因为我想将我的变量定义为const并阻止变量的值的更改.提前致谢. Lua不自动支持常量,但您可以添加该功能.例如,将常量放在一个表中,并使用metatable使表变为只读.
这是怎么做的:andrejs-cainikovs.blogspot.se/2009/05/lua-constants.html
复杂的是,您的常数的名称不仅仅是“A”和“B”,而是像“CONSTANTS.A”和“CONSTANTS.B”.您可以决定将所有常量放在一个表中,或将它们逻辑分组到多个表中;例如数学常数的“MATH.E”和“MATH.PI”等
本文共计355个文字,预计阅读时间需要2分钟。
Lua中有一个const关键字吗?还是其他类似的东东?因为我想将我的变量定义为const,并阻止变量的值的更改。提前致谢。Lua不自动支持常量,但你可以通过其他方式实现类似功能。例如,你可以将常量值放入一个表中,并阻止对表的修改。如下所示:将常量放入表中:`local myConstants={PI=3.14159, MAX_VALUE=100}`然后,通过检查是否尝试修改值来防止修改:luafunction isConstantValue(value) local constants=myConstants return type(value)==table and value==constantsend
function setConstantValue(key, value) if isConstantValue(value) then myConstants[key]=value else error(Cannot set a non-constant value as a constant.) endend
-- 设置常量setConstantValue(PI, myConstants.PI)
-- 尝试更改常量的值local ok, err=pcall(function() myConstants.PI=3.14end)
if ok then print(Value changed successfully.)else print(Error: .. err)end
lua中有一个const关键字吗?还是其他类似的东西?因为我想将我的变量定义为const并阻止变量的值的更改.提前致谢. Lua不自动支持常量,但您可以添加该功能.例如,将常量放在一个表中,并使用metatable使表变为只读.
这是怎么做的:andrejs-cainikovs.blogspot.se/2009/05/lua-constants.html
复杂的是,您的常数的名称不仅仅是“A”和“B”,而是像“CONSTANTS.A”和“CONSTANTS.B”.您可以决定将所有常量放在一个表中,或将它们逻辑分组到多个表中;例如数学常数的“MATH.E”和“MATH.PI”等

