数组变量(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

下一部分: