File: readonly.lua

package info (click to toggle)
redis 2%3A3.0.5-4~bpo8%2B1
  • links: PTS, VCS
  • area: main
  • in suites: jessie-backports
  • size: 7,120 kB
  • sloc: ansic: 78,396; tcl: 11,037; perl: 3,931; sh: 3,820; ruby: 1,362; makefile: 1,008
file content (12 lines) | stat: -rw-r--r-- 260 bytes parent folder | download | duplicates (65)
1
2
3
4
5
6
7
8
9
10
11
12
-- 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'