zm.TableUnpack 数组解包
🎯功能
返回传入参数数组的所有元素, 原型是Lua中的table.unpack()
, 目前手机版变量赋值只能接收一个元素, 但可选参数的函数命令可以接收多个元素, 详见示例
📜语法
结果 = zm.TableUnpack([数组, ...][, 起始[, 终止]])
📥参数
参数 | 数据类型 | 解释 |
---|---|---|
数组 | table | 待处理的数组, 支持传入多个数组 |
起始 | table | 可选, 截取表的起始位置, 从1 开始计算, 省略默认为1 |
终止 | table | 可选, 截取表的终止位置, 从1 开始计 算, -1 表示最后一个元素位置, 省略默认为-1 |
📤返回
无
💡示例
Import "zm.luae" //导入插件,只需执行一次
zm.Init //初始化插件,只需执行一次
Dim t = {"a":"hello", 345911220, true, "紫猫"}
//数组tt只能接受第一个元素, 因为按键语法不支持多个变量返回值
Dim tt = zm.TableUnpack(t)
TracePrint tt
//可以打印输出所有返回值, 因为TracePrint支持多个可选参数
//没有显示键名a的元素, 因为只支持数组内容部分
TracePrint zm.TableUnpack(t)
//可以利用{}语法合并两个数组元素到新的数组中
Dim t1 = {1, 2, 3}
Dim newT = {zm.TableUnpack(t, t1)}
TracePrint zm.VarInfo(newT)
//可以解决超级多点找色或多点比色参数过长问题
Dim 颜色1 = {"0DD200","4|2|FFFFFF,3|7|211003,27|1|1592FF"}
Dim 颜色2 = {"123456","40|27|FFFFFF,31|5|211003"}
//下面这两句代码实现效果完全相同, 注意解包必须是放在最后一个参数
zm.FindMultiColor "显示", zm.TableUnpack(颜色1, 颜色2)
zm.FindMultiColor "0DD200","4|2|FFFFFF,3|7|211003,27|1|1592FF","123456","40|27|FFFFFF,31|5|211003","显示"
📘备注
- V3.1835: 初次加入