PATH:
usr
/
share
/
doc
/
lua50
/
examples
-- trace assigments to global variables do -- a tostring that quotes strings. note the use of the original tostring. local _tostring=tostring local tostring=function(a) if type(a)=="string" then return string.format("%q",a) else return _tostring(a) end end local log=function (name,old,new) local t=debug.getinfo(3,"Sl") local line=t.currentline io.write(t.short_src) if line>=0 then io.write(":",line) end io.write(": ",name," is now ",tostring(new)," (was ",tostring(old),")","\n") end local g={} local set=function (t,name,value) log(name,g[name],value) g[name]=value end setmetatable(getfenv(),{__index=g,__newindex=set}) end -- an example a=1 b=2 a=10 b=20 b=nil b=200 print(a,b,c)
[-] fib.lua
[edit]
[-] hello.lua
[edit]
[-] trace-calls.lua
[edit]
[-] factorial.lua
[edit]
[-] cf.lua
[edit]
[-] bisect.lua
[edit]
[-] globals.lua
[edit]
[-] undefined.lua
[edit]
[-] README
[edit]
[-] trace-globals.lua
[edit]
[-] readonly.lua
[edit]
[-] printf.lua
[edit]
[-] sieve.lua
[edit]
[-] table.lua
[edit]
[+]
..
[-] sort.lua
[edit]
[-] luac.lua
[edit]
[-] env.lua
[edit]
[-] xd.lua
[edit]
[-] life.lua
[edit]
[-] echo.lua
[edit]
[-] fibfor.lua
[edit]