跳转至

OpenEX Value 内存操作语句

普通变量

  • 本章节会介绍如何在OpenEX定义一个可以操作的变量

OpenEX是一个弱类型的语言,定义变量时候只需要指定变量的访问权限类型即可,但OpenEX对于变量名的定义有以下几点要求:

  • 不能使用OpenEX关键字与保留字,否则编译不通过
  • 不要使用库名,脚本名等,否则函数调用会出现问题
  • 不要使用相同的变量名,否则编译不通过

下面介绍了如何定义和更改一个私密变量

script.exf
value name:"注释" = 23;
name = true;
我们可以看到变量定义遵循value 变量名:"备注" = 初始值;的格式,且OpenEX对变量的类型没有严格要求

变量的注释

  • 最初是由去幻想乡的老ART提出,参照了Python的语法

数组变量

  • 数组变量定义与普通变量类似,但区别在于初始值的写法

script.exf
value array_name:"注释" = [123,true,false,null,3.14];
我们可以看到数组变量初始值是由[]来定义的, 且数组内元素类型可以各不相同
你甚至可以在数组内存储变量或嵌套另外一个数组
script.exf
1
2
3
4
5
value int:"整形" = 23;
value arrya_1:"数组1" = [123,222,3,true];
value array_2:"数组2" = [array_1,314,int];

system.print(array_1[2]);

更新

  • 在OpenEX-AST2.0版本更新之前,数组取值的语法是不支持的
  • 数组取值本质是调用array库的get_object方法

变量类型

OpenEX变量为弱类型不代表没有类型,以下是使用type库的typeof函数可以检测到的所有变量类型,使用type库你需要include "type";来导入该库

类型符号 说明 备注
INT 整形 0,1,2,3.....
DOUBLE 双精度浮点型 3.14,2.28
BOOL 布尔型 true,false
NULL 空值 null
STRING 字符串型 "Hello! World!"
ARRAY 数组变量 详见数组变量定义