Arn*_*old 5 delphi multidimensional-array
我想通过一个过程测试许多矩阵。每个矩阵都应作为矩阵传递,例如:
type TMatrix = array of array of integer;
procedure test_kernel (mat: TMatrix);
....
test_kernel ([[1, 2], [1, 3]]); // <== does not compile
Run Code Online (Sandbox Code Playgroud)
我找不到正确的语法来正确执行此操作(也尝试使用圆括号)。有谁知道如何将常量值矩阵作为过程参数传递?有可能吗?
编辑
由于无法实现,我决定使用:
type TMatrix = array of integer;
procedure test_kernel (rows, cols: integer; mat: TMatrix);
....
test_kernel (2, 2, [1, 2,
1, 3]);
Run Code Online (Sandbox Code Playgroud)
因此,我得到了矩阵的错觉和可读性。谢谢你们!
如果您使用稍微不同的 TMatrix 声明,实际上有可能做到这一点,但恕我直言,它不会增加代码的可读性:
type
TVector = array of integer;
TMatrix = array of TVector;
procedure test_kernel (mat: TMatrix);
....
test_kernel(TMatrix.Create(TVector.Create(1, 2), TVector.Create(1, 3)));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
405 次 |
| 最近记录: |