区分记录类型

在区分记录类型的情况下,一些组件被称为判别式,其余组件可以依赖于这些。判别式可以被认为是参数化类型,语法揭示了这种类比。在这个例子中,我们创建了一个类型,它提供了一个带有正参数的方阵:

type Square(X: Positive) is
    record
        S: Matrix(1 .. X, 1 .. X);
    end record;

然后创建一个 3 乘 3 的正方形,只需调用类型为 Square 的广场:

Sq: Square(3);