正在加载文档
L型变量 R型变量(数组)
<!-- mindoc:slug=aa-1hglonjng7gb4 -->
### L变量 R变量
>L变量和R变量用法一致,区别是L变量为`个人变量`,R变量为`全局变量`
```
;-----------------------------------------【赋值元素变量】
;-----------------------------------------给元素变量赋值(非子元素),值两边必须加 [],不然报错。
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 ----------------------------------
```
#### 检测数组中是否存在命令
>CheckVarInList 参数1 参数2
#### 参数说明:
|位置|说明|备注|
|:----|:---|:---
|参数1 |L变量 R变量||
|参数2 |检测值 ||
#### 示例:
```
[@测试]
#IF
CHECKLEVELEX > 0
#ACT
MOV L$测试 [aa,bb,cc]
#IF
CheckVarInList L$测试 bb
#ACT
SENDMSG 5 [L$测试]中存在"bb"
break
```
#### 获取数组中元素索引
>GetListVarIndex 参数1 参数2 参数3
#### 参数说明:
|位置|说明|备注|
|:----|:---|:---
|参数1 |L变量 R变量||
|参数2 |值 ||
|参数3 |保存变量 |不存在返回-1 存在从0开始计算|
#### 示例:
```
[@测试]
#IF
CHECKLEVELEX > 0
#ACT
MOV L$测试 [aa,bb,cc]
GetListVarIndex L$测试 aa N1
SENDMSG 7 [L$测试]中"aa"位于第<$STR(N1)>个子元素
break
```
#### 获取数组中元素个数
>GetListVarCount 参数1 参数2
#### 参数说明:
|位置|说明|备注|
|:----|:---|:---
|参数1 |L变量 R变量||
|参数3 |保存变量||
#### 示例:
```
[@测试]
#IF
CHECKLEVELEX > 0
#ACT
MOV L$测试 [aa,bb,cc]
GetListVarCount L$测试 N1
SENDMSG 7 [L$测试]中有<$STR(N1)>个子元素
break
```