我知道不要对 Integer, arr 的一维数组执行以下操作,
SetLength(arr, 4);
arr[0] := 11;
arr[1] := 12;
arr[2] := 13;
arr[3] := 13;`
我也可以只用一行完成上述操作:
arr := [11, 12, 13, 14];
现在是整数数组的二维数组示例(维度为 2, 2),
arr[0][0] := 11;
arr[0][1] := 12;
arr[1][0] := 13;
arr[1][1] := 14;
问题: 我也可以在一行类似下面这样做吗?
arr := [[11, 12], [13, 14]];
注释:
因为这是必填字段,所以我再次尝试
arr := [[11, 12], [13, 14]];
但它没有编译。 (出现类型不匹配错误。)
ISO 标准 10206“扩展 Pascal”定义了初始值说明符的构造。
var
f: array[0..3] of integer value [0: 11; 1: 12; 2, 3: 13];
您还可以将
array
文字分配给变量。
结构化值构造函数必须以数据类型为前缀:
type
t = array[0..1, 0..1] of integer;
var
f: t;
begin
f := t[0: [0: 1; 1: 2]; 1: [0: 3; 1: 4]];
该语法还为所有未明确定义的成员提供了一个
otherwise
子句。
var
f: array[0..9] of real value [5: 12.34; otherwise 56.78];