TA的每日心情 | 擦汗 5 小时前 |
---|
签到天数: 369 天 [LV.9]以坛为家II
论坛元老
- 积分
- 6617
|
功能
引擎版本号: |
2023.6.2 |
名称: |
列表数组 or 元素变量 |
原因: |
方便存储多个同类数据
方便增加背包物品数据获取 |
功能详细说明: |
多元数组 or 元素变量 |
联系方式: |
393960725 |
功能说明: 列表数组 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]
;======================================================
|
|