现在的位置: 首页lua>正文
rss
lua实现php的print_r()函数功能 [原创]
2012年01月29日 lua 评论数 3 ⁄ 被围观 15,257 次+

之前写了个类似php的var_dump()函数,下面在来一个print_r()函数,代码如下:

  1. functionpr(t,name,indent)
  2. localtablelist={}
  3. functiontable_r(t,name,indent,full)
  4. localid=notfullandnameortype(name)~="number"andtostring(name)or'['..name..']'
  5. localtag=indent..id..'='
  6. localout={}--result
  7. iftype(t)=="table"then
  8. iftablelist[t]~=nilthen
  9. table.insert(out,tag..'{}--'..tablelist[t]..'(selfreference)')
  10. else
  11. tablelist[t]=fulland(full..'.'..id)orid
  12. ifnext(t)then--tablenotempty
  13. table.insert(out,tag..'{')
  14. forkey,valueinpairs(t)do
  15. table.insert(out,table_r(value,key,indent..'|',tablelist[t]))
  16. end
  17. table.insert(out,indent..'}')
  18. elsetable.insert(out,tag..'{}')end
  19. end
  20. else
  21. localval=type(t)~="number"andtype(t)~="boolean"and'"'..tostring(t)..'"'ortostring(t)
  22. table.insert(out,tag..val)
  23. end
  24. returntable.concat(out,'\n')
  25. end
  26. returntable_r(t,nameor'value',indentor'')
  27. end
  28. functionprint_r(t,name)
  29. print(pr(t,name))
  30. end
  31. locala={x=1,y=2,label={text='hans',color='blue'},list={'a','b','c'}}
  32. print_r(a)

本文地址:/22/1036.html
如非注明则为本站原创文章,欢迎转载。转载请注明转载自:moon's blog
 

目前有 3 条留言 其中:访客:1 条, 博主:1 条 引用: 1

  1. 朱定聪的博客 : 2012年01月31日02:30:33  1楼

    :lol: 博主你好,贵博友链已做好哦~~

    • clairelume : 2012年01月31日10:32:18

      友链已加首页 :razz: