Lua 递归 实现万能输出ptable函数
万能打印函数,可同时打印多表
--[[递归ptable函数]]
function ptable(...)local function pta(t,L)local src,o="",""local L = L or 0 --[[记录递归次数]]local Tab = "\n"..string.rep("\t",L-1) --[[tab空格]]local i = 0 --[[记录for循环次数]]for k,v in pairs(t) doif i > 0 then o = "," endi = i + 1local key,var="",""if type(k) == "string" then key = "[\'"..k.."\'] = " else key = "["..k.."] = " end --[[显示["key"],注释可隐藏]]if L == 0 then key = "" else key = src .. o .. Tab .. key end --[[初始值不显示Key]]if type(v) == "table" thensrc = key .. "{" ..pta(v,L+1).. Tab .."}"elseif type(v) == "string" thenvar = "'"..v.."'"elseif type(v) == "number" thenvar = velseif type(v) == "function" thenvar = "function"elseif type(v) == "boolean" thenif v then var = "true" else var = "false" endendsrc = key .. varendif L == 0 thenprint(src) --[[输出]]endendreturn srcendreturn pta({...}) --[[运行]]
endt={{2,a=true,3},{{"nihao"},{{},{}},{3,{111},{222}}},3}
ptable(t,{11111111111111111},{"你好"}) --[[支持多表同时打印,支持打印"boolean"值,支持打印二值化]]
稍微修改可打印二值化表
Lua二值化函数源码
Lua 递归 实现万能输出ptable函数相关推荐
- Day05:装饰器,三元表达式,函数的递归,匿名/内置函数,迭代器,模块,开发目录...
上节课复习: 1.函数的对象 函数可以被当作数据取处理 2.函数嵌套 嵌套调用:在调用一个函数时,函数体代码又调用了其他函数 嵌套定义:在一个函数内部又定义了另一个函数 1 d ...
- 浙江大学 PTA 递归实现顺序输出整数
6-5 递归实现顺序输出整数 (15 point(s)) 本题要求实现一个函数,对一个整数进行按位顺序输出. 函数接口定义: void printdigits( int n ); 函数printdig ...
- Lua程序设计 | 字符串、表、函数与IO
From<Programming in Lua> by Roberto Ierusalimschy 文章目录 字符串 字符串常量 长字符串/多行字符串 强制类型转换 字符串标准库 表 表索 ...
- 栈的应用4——递归函数的非递归形式(主讲阿克曼函数的非递归形式)
递归 函数自己调用自己 如求阶乘函数: int jiecheng(int n) {if(n==0)return 1;if(n==1)return 1;else return n*jiecheng(n- ...
- 字符串倒序函数 java_编写将给定字符串倒序输出的函数[Java笔试题]
面试的过程中经常会出现这样一个问题:写一个函数,将给定的字符串倒叙输出. 以下是StringReverseOpt定义静态方法: public class StringReverseOpt { /** ...
- 第十八章 33用重载输出运算符函数实现字符串的输出
// 33用重载输出运算符函数实现字符串的输出 /*#include <iostream> using namespace std; class String { public:Strin ...
- 【Android FFMPEG 开发】FFMPEG 交叉编译配置 ( 下载 | 配置脚本 | 输出路径 | 函数库配置 | 程序配置 | 组件配置 | 编码解码配置 | 交叉编译配置 | 最终脚本 )
文章目录 一.FFMPEG 源码下载 解压 二.交叉编译工具 三.configure 脚本及帮助命令 四.配置 configure 脚本 五.输出目录配置 六.函数库配置 七.程序配置选项 八.组件配 ...
- LUA表 pairs, ipairs输出顺序问题
LUA表 pairs, ipairs输出顺序问题 t = {[1] = 222,[2] = 23,[3] = 2433,[42] = 135,[5] = 1287,[7] = 7,[102] = 10 ...
- 使用C语言将一个数组首尾互换后输出,函数实现体会地址传递
将一个数组首尾互换后输出,函数实现体会地址传递 小伙伴多多支持,有意见进行评论!(づ ̄3 ̄)づ╭❤- 运行结果: #include<stdio.h> #define N 6 void co ...
- C---编写程序:求出1~1000之间能被7或12整除,但不能同时被二者整除的所有整数,将结果保存在数组中,要求程序数据的输入、计算和输出均使用函数实现。
编写程序:求出1~1000之间能被7或12整除,但不能同时被二者整除的所有整数,将结果保存在数组中,要求程序数据的输入.计算和输出均使用函数实现. 编程思路:分别编写函数input().cal().o ...
最新文章
- 人工手动冷备不完全恢复介绍(purge表不完全恢复)
- 【IOS 开发】Objective-C Foundation 框架 -- 字符串 | 日期 | 对象复制 | NSArray | NSSet | NSDictionary | 谓词
- WebSocket+MSE——HTML5 直播技术解析
- 上传文件到服务器的Linux命令
- MyBatisPlus条件构造器排序方法orderByDesc参数怎样构造
- 科大星云诗社动态20210211
- easyui打开新的选项卡_IntelliJ IDEA 2020.3 正式版发布,多项超酷新功能
- C++xor cipher异或密码算法(附完整源码)
- egg.js java 生产数据_eggjs中,自动从数据库直接生成model.
- 不断迭代,严苛细节,最终性能如何满足? 基于ELK的大数据平台实践分享
- NTFS for Mac支持Mac拷贝文件到硬盘
- 查找nginx安装的路径
- pycharm 配置设置远程调试【远程解释器】
- AppServ 介绍
- 分享一套jquery视频教程
- python3 unicode_关于你不想知道的所有Python3 unicode特性
- Android 接口测方法
- excel服务器条形码不显示,excel怎么制作条形码教程 excel条形码显示不出怎么办...
- 《C++ Concurrency in Action》笔记
- VB 6.0 如何在64位操作系统下运行!
热门文章
- 10_心理咨询_微信小程序项目实战_登录页面静态效果实现
- 实训日记1:眼部图像的检测与预处理
- 年薪30万的web前端都经历过这三个成长阶段!
- 别站着编程:站着工作未必对你的健康有好处
- 2015,也来总结一下人生
- 2021副高考试成绩查询山东省,2021山东省考成绩查询_查询入口
- elasticsearch对身份证号码的处理(ngarm分词或者pipeline)
- Flask用wtf上传文件
- AppXDeploymentServer等文件占满整个C:\Windows\Temp 文件夹的解决方案
- 怎样利用scanf()函数自虐