引用非标量数据
模拟问题中的大部分数据以数组、列表或表格形式组织,因此包含在多值变量里。
非标量数据只能通过自动化接口一次取一个值,即访问叶节点的 Value 属性。
节点的组织方式取决于:
-
需要多少个标识符才能定位该值;
-
该值所处的上下文。
例如:
-
塔板温度分布:变量名 + 1 个附加标识符——塔板号;
-
塔板组成分布:变量名 + 2 个附加标识符——塔板号 + 组分;
-
反应器内反应系数:变量名 + 3 个附加标识符——反应序号 + 组分 + 子物流。
找到多值变量节点后,必须沿树向下遍历,为每一维提供标识符,才能拿到单个数值。
有些节点一次遍历只代表一个标识符;有些则代表多个。每个节点都有 Dimension 属性:
-
Dimension > 0→ 该节点有子节点; -
Dimension的值 = 访问其子节点所需的标识符个数; -
各维编号从 0 开始,到
Dimension-1结束。
获取子节点有两种方法:
-
迭代器(如 VB 的
For Each)——顺序无关时最方便; -
Item属性——按维提供参数:-
整数 Location(行号):从 0 计数的序号;
-
字符串 Label:该维下的节点标签。
-
每维的有效位置/标签个数可通过集合的 RowCount 属性获得。
注意:集合不保证任何特定顺序。若必须按特定顺序访问,请用字符串 Label 定位;仅当顺序不重要时,才用
For Each或整数序号遍历。
另请参阅: