zm.Clone 超级克隆

文章目录
  1. 1. 功能
  2. 2. 语法
  3. 3. 参数
  4. 4. 返回值
  5. 5. 示例
  6. 6. 备注

功能

除了可以克隆数组外,还可以克隆表(table),支持深层嵌套的表。

语法

结果 = zm.Clone(原表)

参数

参数 数据类型 解释
原表 数组或表 准备被克隆的数组或者表。

返回值

_表_,克隆后的独立数组或表。

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Import "zm.luae" //导入插件,只需执行一次
zm.Init //初始化插件,只需执行一次

Dim 表a, 表b, 表c
//对表a进行赋值
表a = {"姓名":"紫猫", "职业":"教师", "QQ":345911220}

//使用等号将表a赋值给表b
表b = 表a

//使用zm.Clone将表a克隆给表c
表c = zm.Clone(表a)

//分别改变3个表的一个键值
表a["姓名"] = "紫猫学院"
表b["职业"] = "编程教学"
表c["QQ"] = "欢迎加入"

//输出3张表的键值
TracePrint "表a键值:", 表a["姓名"], 表a["职业"], 表a["QQ"]
TracePrint "表b键值:", 表b["姓名"], 表b["职业"], 表b["QQ"]
TracePrint "表c键值:", 表c["姓名"], 表c["职业"], 表c["QQ"]

备注

  • 只克隆数组或表的值,不复制地址,与Clone 拷贝数组相比,多了支持表的深层克隆。
  • V1.1722: 插件加入本命令