xref: /redis-3.2.3/deps/lua/test/readonly.lua (revision 21d3294c)
1*21d3294cSantirez-- make global variables readonly
2*21d3294cSantirez
3*21d3294cSantirezlocal f=function (t,i) error("cannot redefine global variable `"..i.."'",2) end
4*21d3294cSantirezlocal g={}
5*21d3294cSantirezlocal G=getfenv()
6*21d3294cSantirezsetmetatable(g,{__index=G,__newindex=f})
7*21d3294cSantirezsetfenv(1,g)
8*21d3294cSantirez
9*21d3294cSantirez-- an example
10*21d3294cSantirezrawset(g,"x",3)
11*21d3294cSantirezx=2
12*21d3294cSantirezy=1	-- cannot redefine `y'
13