变量
符号
通用图标如下

不同场景下画布对象图标详见数据组件章节
功能
存储各种类型数据
要点
数据格式
变量支持的各种数据格式,以及各种格式具有的方法详见技术说明
简单变量
变量为简单(Value)格 式时是动态的,即可能存储如Number、String、Entity等子类型,在模拟过程中可以因为被覆盖而发生类型变化
复杂变量
包括Dict、List
- 是静态的,一旦初始化,不可被其它不同格式变量覆盖
提示
把变量A赋值给变量B,B = A
- 如果是复杂类型(如List),那么对
A的修改操作(如A.pop())也同样会影响B - 如果想避免上述情况请使用
copy()方法,如"B = A.copy()" - 而类似情况下,简单变量则不会因为
A的修改(如A += 1) 而影响B
- List支持任意格式作为列表元素
- Dict的Key支持非Dict的其它数据格式,Value支持任意数据格式
设置方法
- 包括类型设置和初始赋值
- 根据变量所处位置,作为全局变量、实体属性、和局部变量时设置方法不尽相同
作为全局变量(通用设置)

类型选择
选择Value/List/Dict/ Set
Value类型初始赋值
输入框,接收返回简单类型表达式,表达式不得使用其它变量
List类型初始赋值

-
选择输入方式:整体表达式/逐个元素定义表达式
-
整体表达式赋值
表达式格式为
[element0,element1, ...]当然您可以使用
range函数进行构造
-
逐个元素表达式赋值

- 新建列表元素:点击按钮出现输入框
- 定义当前位置的List元素:输入表达式
- 重复上述两步:直到完成List的所有元素的定义
-
Dict类型初始赋值

-
选择输入方式:完整表达式/键值对表达式/批量构造键
-
完整表达赋值
输入格式为
{key1: value1; key2: value2; ...} -
逐个键值对表达式赋值

- 新建键值对:点击添加按钮出现一行键值对两个输入框
- 一个键值对输入:在左边输入框输入键表达式,右边输入框输入值表达式
- 重复上述两步:直到完成Dict的所有键值对输入
-
批量键构造模式
在形式上批量构造Key和默认Valu

-
批量构造键
- 可以使用"构造表达式"批量表达可能出现的键(并未实际构造出),点击公式栏在下拉菜单中会推荐常用写法如上图,用法与容器完全相同
- 批量构造的效果可以点击预览按钮查看,如下图

- 构造后在其它相关位置使用相关Dict对象时,能够根据构造出现公式栏提示,以便于建模,如下图

-
设置默认值
输入表达式,无论任何键,如果未赋值均默认该值

-
-
提示
作为实体属性

- 当变量被放置在实体内(流程外)画布时是实体属性
- 数据格式类型设定和初始赋值与全局变量时相同,不再赘述,这里设置指的是所有个体默认值
- 归属主体选择:个体 / 观察者

- 当变量归属为个体时,支持个性化配置每个个体的变量初始化赋值

- 不做设置时如上图显示“默认”,即所有个体值默认为统一的初始设置值
- 如需针对个体个性配置初始值,点击上图按钮,在弹窗中的列表中逐一进行如下图

- 在这里设置,与在所属实体的属性面板的个体个性配置弹窗配置,效果完全一致,但后者一定要打开个体配置,并勾选了该变量,这里才能操作,如下图

作为流程局部变量
- 当变量在流程内时称为流程的局部变量
- 局部变量数据类型设置和初始赋值与全局变量相同,不再赘述

- 三种类型选择:临时变量/接口/常规变量
临时变量

变量接口

- 当对应端口以参数形式传递数值时,在变量接口所在流程开始事件产生Trigger时创建,在Trigger抵达结束事件销毁时销毁,数据根据该Trigger寄存(不同Trigger对应不同值)
- 当对应端口以状态链传递对象时,变量接口无寄存、寿命也与所在流程局部Trigger无关
- 设置流程数据接口后,本流程轮廓外、本流程的调用和请求调用都会出现对应端口,端口符号为"V",供外部传入数据,用法及模型示例详见流程接口的数据传递
常规变量

类似全局变量或实体属性,设置方法相同,永久存在,无寄存机制
案例
模型案例
这是一个GBM价格生成器流程