0 ada
假设我们有一个类型:
type ABC is (A, B, C);
type BAC is (B, A, C);
type CBA is (C, B, A);
Run Code Online (Sandbox Code Playgroud)
有没有办法用参数 Order 声明通用包:
generic
type Order is ...
package Pkg
type Value_Type is ...
type Value_Type_Array is array (Order) of Value_Type;
end Pkg;
Run Code Online (Sandbox Code Playgroud)
实例化后我可以有 3 种不同的类型:
AA : Package_ABC.Value_Type_Array;
BB : Package_BAC.Value_Type_Array;
CC : Package_CBA.Value_Type_Array;
Run Code Online (Sandbox Code Playgroud)
更新:我忘了说我想在程序中使用这些类型的值。如果我们说 X、Y 和 Z 是 Value_Type 类型的变量:
begin
AA (A) := X;
AA (B) := Y;
AA (C) := Z;
...
BB (B) := X;
BB (A) := Y;
BB (C) := Z;
...
CC (C) := X;
CC (B) := Y;
CC (A) := Z;
...
Run Code Online (Sandbox Code Playgroud)
结尾;
枚举类型是离散类型(如整数类型),因此您可以这样做:
generic
type Order is (<>);
package Pkg
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
127 次 |
| 最近记录: |