数组变量(Array Variables)
数组变量可以是一维或者多维数组,其数值可以是双精度或者整数。不同于(标量)数值变量,数组变量必须提前定义才能使用。定义的语法为:
DECLARE name, type, num_dimensions, dimension1 [, dimension 2 [, dimension 3 [, dimension 4] etc...]]
name可以是如前文所述的任何合法变量名。type必须是双精度或整数,以指定该数组变量的类型。整数值num_dimensions定义了该数组的维数,而非大小,并且必须在1到4之间,包括1和4。整数dimension1、dimension2等等定义了该数组的大小。需注意,数组变量从折射率1开始,因此对于大小为10的数组,其有效折射率是从1到10。
可以在宏内部的任何位置定义数组变量,不需要在宏的开始位置声明。可使用关键字RELEASE释放数组变量的相关内存。语法为:
RELEASE name
关键字RELEASE命令是可选的,因为在宏终止后,将自动释放声明变量的相关内存。但是,如果只是在宏执行的某一部分中需要大型数组,则关键字RELEASE对于节省内存很有用。
数组变量的赋值语法为:
name ( index1, index2, ...) = value
可以使用相同的基本语法来检索数组中存储的值:
value = name ( index1, index2, ...)
以下示例代码定义了一个二维数组变量,对每个元素进行赋值,并输出数组变量值,然后释放数组的内存:
DECLARE Z, DOUBLE, 2, 5, 5 FOR i, 1, 5, 1 FOR j, 1, 5, 1 Z(i, j) = i + j NEXT j NEXT i k = 0 FORMAT 8.0 FOR i, 1, 5, 1 FOR j, 1, 5, 1 PRINT k, i, j, Z(i,j) k = k + 1 NEXT j NEXT i RELEASE Z
下一部分: