]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
1 | -- make global variables readonly |
2 | ||
3 | local f=function (t,i) error("cannot redefine global variable `"..i.."'",2) end | |
4 | local g={} | |
5 | local G=getfenv() | |
6 | setmetatable(g,{__index=G,__newindex=f}) | |
7 | setfenv(1,g) | |
8 | ||
9 | -- an example | |
10 | rawset(g,"x",3) | |
11 | x=2 | |
12 | y=1 -- cannot redefine `y' |