local insp={} assert( type(insp)=="table" ) function InspectValue(value,history,indent,inside) res="" for vkey,vvalue in pairs(value) do local vvtype=type(vvalue) res=res..(string.rep(" ",indent)..tostring(vkey).." ["..tostring(vvalue).."]").."\n" if not history[vvalue] then if vvtype=="table" then res=res..__Inspect(vvalue,indent+2,history,inside) elseif vvtype=="function" then res=res..InspectFunction(vvalue,history,indent+2,inside) end --if vvtype end --if not hist history[vvalue]=true end --for vkey return res end function InspectFunction(value,history,indent,inside) res="" local ftab=debug.getinfo(value,"S") if ftab~=nil then res=res..(string.rep(" ",indent).."Function info:").."\n" res=res..__Inspect(ftab,indent+1,history,false,inside) end return res end --reverse lookup of values that are defined in an environment function __InsideG() local ins={} for key,value in pairs(_G) do ins[value]=true end return ins end function ProperLevel(T,inside,value) if T~=_G and inside[value] then return false end return true end local InBlackList = { InspectValue=true, InspectFunction=true, __InsideG=true, ProperLevel=true, __Inspect=true, Inspect=true, InBlackList=true, source=true } function __Inspect(T,ind,hist,meta,InsideG) local res="" local inside=InsideG or __InsideG() if T==nil then return "nil" end if (type(T)~="table") then return res end local indent=ind or 0 local history=hist or {} if (type(history)~="table") then history={} end history[T]=true for key,value in pairs(T) do if not InBlackList[key] then res=res..(string.rep(" ",indent)..tostring(key).." ["..tostring(value).."]").."\n" if value and not history[value] and ProperLevel(T,inside,value) then history[value]=true if type(value)=="table" then res=res..InspectValue(value,history,indent+1,inside) elseif debug and type(value)=="function" then res=res..InspectFunction(value,history,indent+1,inside) end --if type(value) local mt=nil if meta then mt=getmetatable(value) end if mt then if type(mt)=="table" then res=res..(string.rep(" ",indent+1).."Metatable:").."\n" res=res..__Inspect(mt,indent+2,history,meta,inside) else res=res..tostring(mt).."\n" end end end end end return res end -- inspects the table recursively (Inspect(_G) inspects the environment) function insp.Inspect(T) return __Inspect(T,nil,nil,true,nil) end --return insp local Inspector=insp --require("insp") print(Inspector.Inspect(_G))
Standard input is empty
string [table: 0x86815b8]
sub [function: 0x8683d70]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
upper [function: 0x8683da0]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
len [function: 0x8683c68]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
gfind [function: 0x8683bf8]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
rep [function: 0x8683d08]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
find [function: 0x8683b50]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
match [function: 0x8683cd0]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
char [function: 0x8681618]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
dump [function: 0x8681650]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
gmatch [function: 0x8683bf8]
reverse [function: 0x8683d38]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
byte [function: 0x86815e0]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
format [function: 0x8683b88]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
gsub [function: 0x8683c30]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
lower [function: 0x8683c98]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
xpcall [function: 0x8680fb0]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
package [table: 0x8681a50]
preload [table: 0x8681fa8]
loadlib [function: 0x8681b30]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
loaded [table: 0x8680b50]
string [table: 0x86815b8]
debug [table: 0x8684858]
package [table: 0x8681a50]
_G [table: 0x8680450]
io [table: 0x8682a70]
os [table: 0x8683278]
table [table: 0x8681828]
math [table: 0x8683e58]
coroutine [table: 0x8681718]
loaders [table: 0x8681ba0]
1 [function: 0x8681c40]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
2 [function: 0x8681c58]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
4 [function: 0x8681c88]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
3 [function: 0x8681c70]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
cpath [./?.so;/usr/local/lib/lua/5.1/?.so;/usr/lib/lua/5.1/?.so;/usr/local/lib/lua/5.1/loadall.so]
config [/
;
?
!
-]
path [./?.lua;/usr/local/share/lua/5.1/?.lua;/usr/local/share/lua/5.1/?/init.lua;/usr/local/lib/lua/5.1/?.lua;/usr/local/lib/lua/5.1/?/init.lua;/usr/share/lua/5.1/?.lua;/usr/share/lua/5.1/?/init.lua]
seeall [function: 0x8681b68]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
tostring [function: 0x8680f08]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
print [function: 0x8681020]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
os [table: 0x8683278]
exit [function: 0x8683548]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
setlocale [function: 0x86814d8]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
date [function: 0x86834a0]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
getenv [function: 0x86804e0]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
difftime [function: 0x86834d8]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
remove [function: 0x8681488]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
time [function: 0x8681510]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
clock [function: 0x8683468]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
tmpname [function: 0x8681548]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
rename [function: 0x86814a0]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
execute [function: 0x8683510]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
unpack [function: 0x8680f78]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
require [function: 0x8682010]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
getfenv [function: 0x8680c48]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
setmetatable [function: 0x8680e90]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
next [function: 0x8680d68]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
assert [function: 0x8680b98]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
tonumber [function: 0x8680ed0]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
io [table: 0x8682a70]
lines [function: 0x8682f68]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
write [function: 0x8683090]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
close [function: 0x8681ab8]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
flush [function: 0x8681ad0]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
open [function: 0x8682f80]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
output [function: 0x8682fb8]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
type [function: 0x8683078]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
read [function: 0x8683028]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
stderr [file (0xb76d6560)]
stdin [file (0xb76d6420)]
input [function: 0x8681ae8]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
stdout [file (0xb76d64c0)]
popen [function: 0x8682ff0]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
tmpfile [function: 0x8683040]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
rawequal [function: 0x8681058]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
collectgarbage [function: 0x8680bd0]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
arg [table: 0x8684da8]
-1 [lua]
0 [prog]
getmetatable [function: 0x8680de0]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
module [function: 0x8681d20]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
rawset [function: 0x86810c8]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
debug [table: 0x8684858]
getupvalue [function: 0x8684c60]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
debug [function: 0x8682e80]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
sethook [function: 0x8684cb0]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
getmetatable [function: 0x8684c48]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
gethook [function: 0x8682eb0]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
setmetatable [function: 0x8684d20]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
setlocal [function: 0x8684ce8]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
traceback [function: 0x8684d70]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
setfenv [function: 0x8684c98]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
getinfo [function: 0x8682ee8]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
setupvalue [function: 0x8684d38]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
getlocal [function: 0x8682f20]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
getregistry [function: 0x8684c10]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
getfenv [function: 0x8682e98]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
load [function: 0x8680cf8]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
math [table: 0x8683e58]
log [function: 0x8684530]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
max [function: 0x8684560]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
acos [function: 0x8684238]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
huge [inf]
ldexp [function: 0x86844c0]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
pi [3.1415926535898]
cos [function: 0x8684388]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
tanh [function: 0x8684768]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
pow [function: 0x86845f8]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
deg [function: 0x86843b8]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
tan [function: 0x86847a0]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
cosh [function: 0x8684350]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
sinh [function: 0x86846c8]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
random [function: 0x8684658]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
randomseed [function: 0x8684690]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
frexp [function: 0x8684488]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
ceil [function: 0x8684318]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
floor [function: 0x8684418]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
rad [function: 0x8684628]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
abs [function: 0x8684208]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
sqrt [function: 0x8684730]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
modf [function: 0x86845c0]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
asin [function: 0x8684270]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
min [function: 0x8684590]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
mod [function: 0x8684450]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
fmod [function: 0x8684450]
log10 [function: 0x86844f8]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
atan2 [function: 0x86842a8]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
exp [function: 0x86843e8]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
sin [function: 0x8684700]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
atan [function: 0x86842e0]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
res [ log [function: 0x8684530]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
max [function: 0x8684560]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
acos [function: 0x8684238]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
huge [inf]
ldexp [function: 0x86844c0]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
pi [3.1415926535898]
cos [function: 0x8684388]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
tanh [function: 0x8684768]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
pow [function: 0x86845f8]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
deg [function: 0x86843b8]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
tan [function: 0x86847a0]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
cosh [function: 0x8684350]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
sinh [function: 0x86846c8]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
random [function: 0x8684658]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
randomseed [function: 0x8684690]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
frexp [function: 0x8684488]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
ceil [function: 0x8684318]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
floor [function: 0x8684418]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
rad [function: 0x8684628]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
abs [function: 0x8684208]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
sqrt [function: 0x8684730]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
modf [function: 0x86845c0]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
asin [function: 0x8684270]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
min [function: 0x8684590]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
mod [function: 0x8684450]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
fmod [function: 0x8684450]
log10 [function: 0x86844f8]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
atan2 [function: 0x86842a8]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
exp [function: 0x86843e8]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
sin [function: 0x8684700]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
atan [function: 0x86842e0]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
]
Metatable:
__index [table: 0x86815b8]
pcall [function: 0x8680da0]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
table [table: 0x8681828]
setn [function: 0x8681438]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
insert [function: 0x86813c8]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
getn [function: 0x8681358]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
foreachi [function: 0x8681320]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
maxn [function: 0x8681390]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
foreach [function: 0x86812e8]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
concat [function: 0x8681850]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
sort [function: 0x8681470]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
remove [function: 0x8681400]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
newproxy [function: 0x86816b0]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
type [function: 0x8680f40]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
coroutine [table: 0x8681718]
resume [function: 0x8681880]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
yield [function: 0x8681960]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
status [function: 0x86818f0]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
wrap [function: 0x8681928]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
create [function: 0x8681868]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
running [function: 0x86818b8]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
_G [table: 0x8680450]
select [function: 0x8680478]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
gcinfo [function: 0x8680c10]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
pairs [function: 0x8680a00]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
rawget [function: 0x8681090]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
loadstring [function: 0x8680d30]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
ipairs [function: 0x86809a0]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
_VERSION [Lua 5.1]
Metatable:
__index [table: 0x86815b8]
dofile [function: 0x8680c88]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
setfenv [function: 0x8680e58]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
error [function: 0x8680cc0]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]
loadfile [function: 0x8680e20]
Function info:
what [C]
lastlinedefined [-1]
linedefined [-1]
short_src [[C]]