lua 中有 const 吗
发布网友
发布时间:2024-03-21 21:40
我来回答
共1个回答
热心网友
时间:2024-03-28 02:23
没有直接的const 但可以通过一些方法模拟出来
local const = {}
local _const = {}
function newIndex(t,k,v)
if not _const[k] then
_const[k] = v
else
error("尝试给 const."..k.." 赋值")
end
end
local mt = {
__newindex = newIndex,
__index = _const
}
setmetatable(const,mt)
--以上是设置元表 const为常量表 _const为元表
---------------------
const.a = 5 --第一次可以为常量赋值
print(const.a) --可以正常输出
--------------------
const.a = 6 --如果运行这一行则会出错 提示为常量赋值