功能说明: 多元数组 or
元素变量 ;-----------------------------------------【赋值元素变量】 ;-----------------------------------------给元素变量赋值(非子元素),值两边必须加 [],不然报错。 MOV L$测试 [11,22,33,44,55,66,77,aa] sendmsg 7 输出结果:<$str(L$测试)> ;输出结果:[11,22,33,44,55,66,77,aa] ;-----------------------------------------【取各字元素(大于等于0从第一个往后取;小于0从最后一个往前取】 sendmsg 7 输出结果:<$str(L$测试[0])>,<$str(L$测试[1])>,<$str(L$测试[2])>,,,,,<$str(L$测试[-2])>,<$str(L$测试[-1])>, ;输出结果:11,22,33,,,,,77,aa, ;-----------------------------------------【修改子元素】 MOV L$测试[0] 00 sendmsg 7 输出结果:<$str(L$测试)> ;输出结果:[00,22,33,44,55,66,77,aa] ;-----------------------------------------【增加子元素】 INC L$测试 bb sendmsg 7 输出结果:<$str(L$测试)> ;输出结果:[00,22,33,44,55,66,77,aa,bb] ;-----------------------------------------【删除子元素】 Dec L$测试 22 sendmsg 7 输出结果:<$str(L$测试)> ;输出结果:[00,33,44,55,66,77,aa,bb] ;-----------------------------------------【修改子元素】 Mov L$测试2 [aa,bb,cc] Mov L$测试[0] <$str(L$测试2)> sendmsg 7 输出结果:<$str(L$测试)> ;输出结果:[aa,bb,cc],33,44,55,66,77,aa,bb] ;-----------------------------------------【获取子元素的位置】 GetListVarIndex L$测试 aa N1 sendmsg 7 [L$测试]中"aa"位于第<$STR(N1)>个子元素 ;-----------------------------------------【获取子元素数量】 GetListVarCount L$测试 N1 sendmsg 7 [L$测试]中有<$STR(N1)>个子元素 ;-----------------------------------------【检查子元素是否存在】 #if CheckVarInList L$测试 bb #act sendmsg 7 [L$测试]中存在"bb" #elseact sendmsg 7 [L$测试]中不存在"bb" ;-----------------------------------------【元素支持变量下标(示例)】 Mov N1 1 MOV L$测试[<$Str(N1)>] 23 sendmsg 7 输出结果:<$str(L$测试[<$Str(N1)>])> ;示例2 [@main] <1.赋值/@mov测试> <2.inc测试/@inc测试> <3.dec测试/@dec测试>\ [@mov测试] #act MOV L$测试 [1,2,3,4,5,a] sendmsg 7 首次赋值(L$测试)的值为:<$STR(L$测试)> sendmsg 6 ---------------------------------- MOV L$测试[0] b sendmsg 7 修改后(L$测试)的值为:<$STR(L$测试)> sendmsg 7 当前(L$测试[0])的值为:<$STR(L$测试[0])> sendmsg 6 ---------------------------------- MOV N$id 0 MOV L$测试[<$STR(N$ID)>] c sendmsg 7 当前(L$测试[<$STR(N$ID)>])的值为:<$STR(L$测试[<$STR(N$ID)>])> sendmsg 6 ---------------------------------- [@inc测试] #act inc L$测试 尾部增加元素 inc L$测试[0] 第1个元素增加内容 MOV N$id 1 INC L$测试[<$str(N$id)>] 第2个元素增加内容 sendmsg 7 当前(L$测试)的完整内容:<$STR(L$测试)> sendmsg 7 当前(L$测试[0])的内容:<$STR(L$测试[0])> sendmsg 7 当前(L$测试[<$STR(N$id)>])的内容:<$STR(L$测试[<$STR(N$id)>])> sendmsg 6 ---------------------------------- [@dec测试] #act dec L$测试 尾部增加元素 dec L$测试[0] 第1个元素增加内容 sendmsg 7 当前(L$测试)的完整内容:<$STR(L$测试)> sendmsg 7 当前(L$测试[0])的内容:<$STR(L$测试[0])> sendmsg 6 ---------------------------------- 注意:指定参数必须是变量名的暂不支持变量嵌套 mov N$当前行数 5 MOV L$变<$str(N$当前行数)>量 [赋值内容,赋值内容2] ;以下方法暂不支持,必要时再更新 ;MOV N$id 1 ;dec L$测试[<$str(N$id)>] 第2个元素增加内容 ;sendmsg 7 当前(L$测试[<$STR(N$id)>])的内容:<$STR(L$测试[<$STR(N$id)>])> [@清空] #act MOV L$测试 [11,22,33,44,55,66,77,aa] sendmsg 7 输出结果:<$str(L$测试)> Mov L$测试 [] sendmsg 7 输出结果:<$str(L$测试)> OR MOV L$测试 [1,2,3] ;----赋值123 MOV L$测试 ;------清空 sendmsg 6 <$str(L$测试)> ;----结果毛都没有 变量都不显示 什么都没 注意: [@main] #if #act MOV L$测试 [1,2,3] goto @内容(<$Str(L$测试变量)>) [@内容] #if #act SENDMSG 6 <$scriptparam1>---显示为[1,2,3] ;-----------------------------------------------------------------相关操作命令-------------------------------- ;====================================================== 检所有子元素均是数字: CheckListAllDigit 元素变量 #IF #ACT MOV L$测试 [11,22,33,44,55,ff] #IF CheckListAllDigit L$测试 #ACT sendmsg 6 <$STR(L$测试)>中的各子元素全是数字 #ELSEACT sendmsg 6 <$STR(L$测试)>中有子元素不是数字 ;====================================================== 获取元素中的最大数字值: GetListMaxVar 元素变量名 保存变量 获取元素中的最小数字值: GetListMinVar 元素变量名 保存变量 #IF #ACT MOV L$测试 [11,22,33,44,55,66,77,88] #IF CheckListAllDigit L$测试 #ACT GetListMaxVar L$测试 S100 GetListMinVar L$测试 S101 sendmsg 7 输出结果:<$str(L$测试)>中的最大值为<$str(S100)>,最小值为<$str(S101)> #ELSEACT sendmsg 7 <$str(L$测试)>内有非法数值,取值失败 ;输出结果:[11,22,33,44,55,66,77,88]中的最大值为88,最小值为11 ****************** 以上2个命令必须要求元素中的所有子元素必须是数字,否则得到的结果是error ;====================================================== 元素翻转(反序): ReverseList 元素变量名 保存元素变量 #IF #ACT MOV L$测试 [11,22,33,44,55,66,77,aa] ReverseList L$测试 L$测试 sendmsg 7 输出结果:<$str(L$测试)> ;输出结果:[aa,77,66,55,44,33,22,11] ;====================================================== 元素排序: SortList 待排序元素变量 保存结果元素变量 排序方式(空或0:升序-从低到高;1:降序-从高到低) 排序依据(0或空:根据数值排序;1:根据文本排序) ***** 当排序依据为数值时,元素中的所有子元素必须全是数字,否则会得到[error] MOV L$测试 [11,33,22,44,55,66,77] SortList L$测试 L$测试2 0 0 sendmsg 7 按数字升序排序输出结果:<$str(L$测试2)> ;按数字升序排序输出结果:[11,22,33,44,55,66,77] MOV L$测试 [11,33,22,44,55,66,77,aa] SortList L$测试 L$测试2 1 0 sendmsg 7 按数字降序排序输出结果:<$str(L$测试2)> ;按数字降序排序输出结果:[error] MOV L$测试 [aa,cc,dd,bb,ee,ff] SortList L$测试 L$测试2 0 1 sendmsg 7 按文本升序排序输出结果:<$str(L$测试2)> ;按文本升序排序输出结果:[aa,bb,cc,dd,ee,ff] MOV L$测试 [aa,cc,dd,bb,ee,ff] SortList L$测试 L$测试2 1 1 sendmsg 7 按文本降序排序输出结果:<$str(L$测试2)> ;按文本降序排序输出结果:[ff,ee,dd,cc,bb,aa] ;====================================================== ################# 以下 2024-06月 重新整理的数组文档 (该文档和上面一样) ################## 变量操作 赋值: 直接赋值 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ MOV L$数组 [字符1,字符2,字符3,字符4] MOV L$数组1 [1,2,3,4] SENDMSG 6 数组的值为:<$STR(L$数组)>,<$STR(L$数组1)> 变量赋值 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ MOV S$字符串 [字符1,字符2,字符3,字符4] MOV L$数组2 <$STR(S$字符串)> SENDMSG 6 数组的值为:<$STR(L$数组2)> 取值:(中括号内的数字叫:下标,下标从0开始) MOV L$数组3 [字符1,字符2,字符3,字符4] MOV S$数组第一个值 <$STR(L$数组3[0])> ;输出得到:字符1 MOV S$数组第二个值 <$STR(L$数组3[1])> ;输出得到:字符2 MOV N$数组下标3 2 MOV S$数组第三个值 <$STR(L$数组3[<$STR(N$数组下标3)>])>;输出得到:字符3 修改值: MOV L$数组4 [字符1,字符2,字符3,字符4] MOV L$数组4[0] 张三 ;结果为[张三,字符2,字符3,字符4] INC L$数组4[1] 李四 ;结果为[张三,字符2李四,字符3,字符4] DEC L$数组4[1] 李四 ;结果为[张三,字符2,字符3,字符4] DEC L$数组4 张三 ;结果为[字符2,字符3,字符4] MOV N$数组下标1 1 MOV L$数组4[<$STR(N$数组下标1)>] 王五 ;结果为[字符2,王五,字符4] ---------------------------------------------------------------------------------------------------- 数组命令 功能:获取值位置 格式:GetListVarIndex 数组变量 值 接收变量 例子: [@数组例子] #IF #ACT MOV L$数组4 [字符1,字符2,字符3,字符4] GetListVarIndex L$数组4 字符3 N$值所在位置 SENDMSG 6 字符3在数组的第<$STR(N$值所在位置)>个位置。;结果为3 ---------------------------------------------------------------------------------------------------- 功能:获取数组值数量 格式:GetListVarCount 数组变量 接收变量 例子: [@数组例子] #IF #ACT MOV L$数组5 [字符1,字符2,字符3,字符4] GetListVarCount L$数组5 N$数组元素数量 SENDMSG 6 L$数组内共存在<$STR(N$数组元素数量)>个元素。;结果为4 ---------------------------------------------------------------------------------------------------- 功能:检查值是否存在于数组中 格式:CheckVarInList 数组变量 值 例子: [@数组例子] #IF #ACT MOV L$数组5 [字符1,字符2,字符3,字符4] #IF CheckVarInList L$数组5 bb #ACT SENDMSG 6 [L$数组5]中存在"bb" #ELSEACT SENDMSG 7 [L$数组5]中不存在"bb" ---------------------------------------------------------------------------------------------------- 功能:检查数组内所有值是否均为数字 格式:CheckListAllDigit 数组变量 例子: [@数组例子] #IF #ACT MOV L$测试 [11,22,33,44,55,ff] #IF CheckListAllDigit L$测试 #ACT SENDMSG 6 <$STR(L$测试)>中的各子元素全是数字 #ELSEACT SENDMSG 6 <$STR(L$测试)>中有子元素不是数字 ---------------------------------------------------------------------------------------------------- 功能:获取元素中的最大数字值 格式:GetListMaxVar 数组变量 接收变量 功能:获取元素中的最小数字值: 格式:GetListMinVar 元素变量名 接收变量 ****************** 以上2个命令必须要求元素中的所有子元素必须是数字,否则得到的结果是error 例子: [@数组例子] #IF #ACT MOV L$测试 [11,22,33,44,55,66,77,88] #IF CheckListAllDigit L$测试 #ACT GetListMaxVar L$测试 S100 GetListMinVar L$测试 S101 SENDMSG 7 输出结果:<$str(L$测试)>中的最大值为<$STR(S100)>,最小值为<$STR(S101)> ;最大值为88,最小值为11 #ELSEACT SENDMSG 7 <$STR(L$测试)>内有非法数值,取值失败 ---------------------------------------------------------------------------------------------------- 功能:数组排序 格式:SortList 待排序数组变量 接收变量 排序方式(空或0:升序-从低到高;1:降序-从高到低) 排序依据(0或空:根据数值排序;1:根据文本排序) ****************** 以上命令要么全是数字,要么全是字符,否则得到的结果是error 例子: [@数组例子] #IF #ACT MOV L$测试 [66,77,11,33,22,44,55] SortList L$测试 L$测试2 0 0 SENDMSG 7 按数字升序排序输出结果:<$STR(L$测试2)> ;按数字升序排序输出结果:[11,22,33,44,55,66,77] MOV L$测试 [aa,cc,dd,bb,ee,ff] SortList L$测试 L$测试2 1 1 SENDMSG 7 按文本降序排序输出结果:<$STR(L$测试2)> ;按文本降序排序输出结果:[ff,ee,dd,cc,bb,aa] ---------------------------------------------------------------------------------------------------- 功能:数组翻转 格式:ReverseList 待翻转数组 接收变量 例子: [@数组例子] #IF #ACT MOV L$测试 [11,22,33,44,55,66,77,aa] ReverseList L$测试 L$测试 sendmsg 7 输出结果:<$str(L$测试)> ;输出结果:[aa,77,66,55,44,33,22,11] ################### 以下 2024-06月 新增的数组使用操作命令 ################ 功能:数组追加元素格式:AddToList 数组变量 值 等同于:Inc 数组变量 值 例子: [@数组例子] #IF #ACT MOV L$测试 [11,22,33,44,55,66,77,aa] AddToList L$测试 bb ;***********等同于Inc L$测试 bb sendmsg 7 输出结果:<$str(L$测试)> ;输出结果:[11,22,33,44,55,66,77,aa,bb] ---------------------------------------------------------------------------------------------------- 功能:数组插入元素(插入到某个元素之前) 格式:InsertToList 数组变量 值 插入位置(-1为数组最后一位) 例子: [@数组例子] #IF #ACT MOV L$测试 [11,22,33,44,55,66,77,aa] InsertToList L$测试 bb 2 sendmsg 7 输出结果:<$str(L$测试)> ;输出结果:[11,22,bb,33,44,55,66,77,aa] ---------------------------------------------------------------------------------------------------- 功能:根据下标替换数组中的元素 格式:ReplaceListByIndex 数组变量 替换值 数组下标 等同于:Mov 数组[下标] 值 例子: [@数组例子] #IF #ACT MOV L$测试 [11,ab,AB,AB,55,66,77,aa] ReplaceListByIndex L$测试 bb 2 ;***********等同于 Mov L$测试[2] bb sendmsg 7 输出结果:<$str(L$测试)> ;输出结果:[11,ab,bb,AB,55,66,77,aa] ---------------------------------------------------------------------------------------------------- 功能:根据值替换数组中的元素 格式:ReplaceListByContent 数组变量 旧值 新值 区分大小写(0:不区分;1:区分) 例子: [@数组例子] #IF #ACT MOV L$测试 [11,ab,bb,AB,55,66,77,aa] ReplaceListByContent L$测试 ab ac 1 sendmsg 7 输出结果:<$str(L$测试)> ;输出结果:[11,ac,bb,AB,55,66,77,aa] ---------------------------------------------------------------------------------------------------- 功能:根据下标删除数组中的元素 格式:RemoveListByIndex 数组变量 数组下标 例子: [@数组例子] #IF #ACT MOV L$测试 [11,33,33,33,55,66,77,aa] RemoveListByIndex L$测试 5 sendmsg 7 输出结果:<$str(L$测试)> ;输出结果:[11,33,33,33,55,77,aa] 例子2: [@数组例子] RemoveListByIndex L$1 -1 sendmsg 7 当前结果:<$str(L$1)> sendmsg 7 正确结果:[11,22,33] ;命令均支持大于等于0从第一个往后取;小于0从最后一个往前取 MOV L$1 [11,22,33,44] RemoveListByIndex L$1 -2 sendmsg 7 当前结果:<$str(L$1)> sendmsg 7 正确结果:[11,22,44] ---------------------------------------------------------------------------------------------------- 功能:根据内容删除数组中的元素 格式:RemoveListByContent 数组变量 元素内容 区分大小写(0:不区分;1:区分) ***********注意:Dec 数组变量 元素内容,也可以删除数组中的元素值,Dec删除元素值时,但是只删第一个匹配到的值 例子: [@数组例子] #IF #ACT MOV L$测试 [11,33,33,33,55,66,77,aa] RemoveListByContent L$测试 33 sendmsg 7 输出结果:<$str(L$测试)> ;输出结果:[11,55,66,77,aa] ---------------------------------------------------------------------------------------------------- 功能:数组切片 格式:ExtractList 数组变量 保存变量(可为L、S、T、A等) 起点索引 终点索引 步长(可空,默认1) 例子: [@数组例子] #IF #act MOV L$测试 [0,1,2,3,4,5,6,7,8,9] ExtractList L$测试 S$保存 0 3 sendmsg 7 当前输出:<$STR(S$保存)> sendmsg 7 正确输出:[0,1,2,3] ;------------------------------------------------- MOV L$测试 [0,1,2,3,4,5,6,7,8,9] ExtractList L$测试 L$保存 0 3 2 sendmsg 7 当前输出:<$STR(L$保存)> sendmsg 7 正确输出:[0,2] ;------------------------------------------------- MOV L$测试 [0,1,2,3,4,5,6,7,8,9] ExtractList L$测试 L$保存 5 8 1 sendmsg 7 当前输出:<$STR(L$保存)> sendmsg 7 正确输出:[5,6,7,8] ;------------------------------------------------- MOV L$测试 [0,1,2,3,4,5,6,7,8,9] ExtractList L$测试 L$保存 -1 -5 1 sendmsg 7 当前输出:<$STR(L$保存)> sendmsg 7 正确输出:[9,8,7,6,5]
|