特戒引擎

 找回密码
立即注册
查看: 215|回复: 3

[建议] 建议增加数组变量,感觉很方便的功能(搬运其他引擎说明)

[复制链接]

71

主题

124

回帖

704

积分

高级会员

Rank: 4

积分
704
发表于 2024-3-7 23:17:24 | 显示全部楼层 |阅读模式
功能说明: 多元数组 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)>])>


[@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)>])>

[@dec测试]
#act
dec L$测试 尾部增加元素
dec L$测试[0] 第1个元素增加内容
sendmsg 7 当前(L$测试)的完整内容:<$STR(L$测试)>
sendmsg 7 当前(L$测试[0])的内容:<$STR(L$测试[0])>

注意:指定参数必须是变量名的暂不支持变量嵌套
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$测试)> ;----结果毛都没有 变量都不显示 什么都没

;-----相关操作命令-

检所有子元素均是数字:
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]



回复

使用道具 举报

5

主题

11

回帖

519

积分

高级会员

Rank: 4

积分
519
发表于 2024-3-12 19:34:01 | 显示全部楼层
支持。,支持
回复

使用道具 举报

8

主题

6

回帖

517

积分

高级会员

Rank: 4

积分
517
发表于 2024-3-13 15:37:50 | 显示全部楼层
支持。,支持
回复

使用道具 举报

0

主题

1

回帖

1

积分

新手上路

Rank: 1

积分
1
发表于 10 小时前 | 显示全部楼层
士大夫撒地方送达
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|小黑屋|特戒引擎|手机版|特戒引擎官方论坛 ( 京ICP备20029477号-2 )

GMT+8, 2024-4-28 10:54 , Processed in 0.097233 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表