DekGenius.com
LUA
print table lua
function print_table ( node)
local cache, stack, output = { } , { } , { }
local depth = 1
local output_str = "{
"
while true do
local size = 0
for k, v in pairs ( node) do
size = size + 1
end
local cur_index = 1
for k, v in pairs ( node) do
if ( cache[ node] == nil ) or ( cur_index >= cache[ node] ) then
if ( string. find ( output_str, "}" , output_str: len ( ) ) ) then
output_str = output_str .. ",
"
elseif not ( string. find ( output_str, "
", output_str: len ( ) ) ) then
output_str = output_str .. "
"
end
table. insert ( output, output_str)
output_str = ""
local key
if ( type ( k) == "number" or type ( k) == "boolean" ) then
key = "[" .. tostring ( k) .. "]"
else
key = "['" .. tostring ( k) .. "']"
end
if ( type ( v) == "number" or type ( v) == "boolean" ) then
output_str = output_str .. string. rep ( ' ' , depth) .. key .. " = " .. tostring ( v)
elseif ( type ( v) == "table" ) then
output_str = output_str .. string. rep ( ' ' , depth) .. key .. " = {
"
table. insert ( stack, node)
table. insert ( stack, v)
cache[ node] = cur_index+ 1
break
else
output_str = output_str .. string. rep ( ' ' , depth) .. key .. " = '" .. tostring ( v) .. "'"
end
if ( cur_index == size) then
output_str = output_str .. "
" .. string.rep(' ',depth-1) .. " } "
else
output_str = output_str .. ","
end
else
if ( cur_index == size) then
output_str = output_str .. "
" .. string.rep(' ',depth-1) .. " } "
end
end
cur_index = cur_index + 1
end
if ( size == 0 ) then
output_str = output_str .. "
" .. string.rep(' ',depth-1) .. " } "
end
if ( # stack > 0 ) then
node = stack[ # stack]
stack[ # stack] = nil
depth = cache[ node] == nil and depth + 1 or depth - 1
else
break
end
end
table. insert ( output, output_str)
output_str = table. concat ( output)
print ( output_str)
end
lua tables
local Table = {
[ "TABLE_info" ] = "TABLE_response"
}
for i, v in pairs ( Table) do
print ( v)
end
print a table in lua
function dump ( o)
if type ( o) == 'table' then
local s = '{ '
for k, v in pairs ( o) do
if type ( k) ~= 'number' then k = '"' .. k.. '"' end
s = s .. '[' .. k.. '] = ' .. dump ( v) .. ','
end
return s .. '} '
else
return tostring ( o)
end
end
lua tables
local favoritefoods_table = { "hamburger" , "spaghetti" , "pizza" , "potato chips" }
for i, v in pairs ( favoritefoods_table) do
print ( i)
print ( v)
end
lua print table
function print_table ( node)
local cache, stack, output = { } , { } , { }
local depth = 1
local output_str = "{
"
while true do
local size = 0
for k, v in pairs ( node) do
size = size + 1
end
local cur_index = 1
for k, v in pairs ( node) do
if ( cache[ node] == nil ) or ( cur_index >= cache[ node] ) then
if ( string. find ( output_str, "}" , output_str: len ( ) ) ) then
output_str = output_str .. ",
"
elseif not ( string. find ( output_str, "
", output_str: len ( ) ) ) then
output_str = output_str .. "
"
end
table. insert ( output, output_str)
output_str = ""
local key
if ( type ( k) == "number" or type ( k) == "boolean" ) then
key = "[" .. tostring ( k) .. "]"
else
key = "['" .. tostring ( k) .. "']"
end
if ( type ( v) == "number" or type ( v) == "boolean" ) then
output_str = output_str .. string. rep ( ' ' , depth) .. key .. " = " .. tostring ( v)
elseif ( type ( v) == "table" ) then
output_str = output_str .. string. rep ( ' ' , depth) .. key .. " = {
"
table. insert ( stack, node)
table. insert ( stack, v)
cache[ node] = cur_index+ 1
break
else
output_str = output_str .. string. rep ( ' ' , depth) .. key .. " = '" .. tostring ( v) .. "'"
end
if ( cur_index == size) then
output_str = output_str .. "
" .. string.rep(' ',depth-1) .. " } "
else
output_str = output_str .. ","
end
else
if ( cur_index == size) then
output_str = output_str .. "
" .. string.rep(' ',depth-1) .. " } "
end
end
cur_index = cur_index + 1
end
if ( size == 0 ) then
output_str = output_str .. "
" .. string.rep(' ',depth-1) .. " } "
end
if ( # stack > 0 ) then
node = stack[ # stack]
stack[ # stack] = nil
depth = cache[ node] == nil and depth + 1 or depth - 1
else
break
end
end
table. insert ( output, output_str)
output_str = table. concat ( output)
print ( output_str)
end
table in lua
table lua
a = { }
x = "y"
a[ x] = 10
print ( a[ x] )
print ( a. x)
print ( a. y)
Lua table functions
Note: [ var] - > means var is optional
table. concat ( table, [ separator] , [ start index] , [ end index ( inclusive) ] )
Concatenates the strings in the table based on the parameters given.
table. insert ( table, [ pos] , value)
Inserts a value into the table at specified position.
table. remove ( table, [ pos] )
Removes the value from the table.
table. sort ( table , [ comp] )
Sorts the table based on optional comparator argument.
© 2022 Copyright:
DekGenius.com