Gobligine/third-party/lua-5.1.5/test/readonly.lua
2021-11-24 15:32:57 -07:00

12 lines
260 B
Lua

-- make global variables readonly
local f=function (t,i) error("cannot redefine global variable `"..i.."'",2) end
local g={}
local G=getfenv()
setmetatable(g,{__index=G,__newindex=f})
setfenv(1,g)
-- an example
rawset(g,"x",3)
x=2
y=1 -- cannot redefine `y'