您好,我是 ada 的新手,我正在尝试创建某种不受约束的数组,但我不知道如何在 ada 中做到这一点。
package data_puzzle is
type rotation is private;
type map(x_l,y_l,z_l : Natural) is private;
type valid_rotations is private;
private
type rotation is array(1..3) of Natural;
type map(x_l,y_l,z_l : Natural) is record
struct : Structure(x_l,y_l,z_l);
rot : rotation;
end record;
type valid_rotations is array(1..24) of map; --how can I make this row work?
end data_puzzle;
结构看起来像这样
type structure(x_l,y_l,z_l : Natural) is record
structure : xyz(1..x_l,1..y_l,1..z_l);
X : Natural := x_l;
Y : Natural := y_l;
Z : Natural := z_l;
end record;
基本上我有一张带有旋转和数据的地图。然后我想将所有不同的旋转存储在一个大小为 24 的列表中。我现在唯一的解决方案是启动类型 valid_rotations 是 map(x,y,z) 的 array(1..24) 然后它可以工作。但我不想那样启动它,因为我不知道那一刻的大小。
干杯!