源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

使用lua实现php的print_r()函数功能

  • 时间:2022-03-28 00:37 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:使用lua实现php的print_r()函数功能
之前写了一些类似php的函数,下面再来一个print_r()函数,代码如下:
[u]复制代码[/u] 代码如下:
function pr (t, name, indent)       local tableList = {}       function table_r (t, name, indent, full)           local id = not full and name or type(name)~="number" and tostring(name) or '['..name..']'           local tag = indent .. id .. ' = '           local out = {}  -- result           if type(t) == "table" then               if tableList[t] ~= nil then                   table.insert(out, tag .. '{} -- ' .. tableList[t] .. ' (self reference)')               else                  tableList[t]= full and (full .. '.' .. id) or id                  if next(t) then -- Table not empty                       table.insert(out, tag .. '{')                       for key,value in pairs(t) do                           table.insert(out,table_r(value,key,indent .. '|  ',tableList[t]))                       end                       table.insert(out,indent .. '}')                   else table.insert(out,tag .. '{}') end               end           else              local val = type(t)~="number" and type(t)~="boolean" and '"'..tostring(t)..'"' or tostring(t)               table.insert(out, tag .. val)           end           return table.concat(out, '\n')       end       return table_r(t,name or 'Value',indent or '')   end   function print_r (t, name)       print(pr(t,name))   end     local a = {x=1, y=2, label={text='hans', color='blue'}, list={'a','b','c'}}     print_r(a) 
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部