[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Useful function printGlobalVariables(), column style
- From: David Jeske <jeske@...>
- Date: Thu, 28 May 1998 11:56:25 -0700
A Useful code snippit that I wrote:
function printGlobalVariables()
local i;
local scrwidth = 80; -- screen width
local maxwidth = 0;
local formatstring;
-- first found out the max function name width
i = nextvar(nil);
while (i) do
if (type(getglobal(i)) == "function") then
maxwidth = max(maxwidth,strlen(tostring(i)));
end
i = nextvar(i);
end
maxwidth = maxwidth + 2;
local numcols = floor(scrwidth / maxwidth);
local curcol = 0;
formatstring = format("%%%ds ",maxwidth);
-- next column print all the function names
i = nextvar(nil);
while (i) do
if (type(getglobal(i)) == "function") then
write(format(formatstring,tostring(i)));
curcol = curcol + 1;
if (curcol >= numcols) then
curcol = 0;
write("\n");
end
end
i = nextvar(i);
end
write("\n");
-- next, print out the variables:
i = nextvar(nil);
while (i) do
if (type(getglobal(i)) ~= "function") then
if (type(getglobal(i)) == "string") then
write(format("%25s = '%25s' %10s\n", tostring(i),
tostring(getglobal(i)),
type(getglobal(i))));
elseif (type(getglobal(i)) == "number") then
write(format("%25s = %25s %10s\n", tostring(i),
tostring(getglobal(i)),
type(getglobal(i))));
else -- who knows what type it is, just print it...
write(format("%25s = '%25s' %10s\n", tostring(i),
tostring(getglobal(i)),
type(getglobal(i))));
end;
end
i = nextvar(i);
end
end
--
David Jeske (N9LCA) + http://www.chat.net/~jeske/ + jeske@chat.net