例如,如果我想像这样初始化一个元素数组:
someArray : array(1..10) of Integer := (2,4,6,8,10,12,14,16,18,20);
Run Code Online (Sandbox Code Playgroud)
有没有一种快捷方式或某种机制可以更快地做到这一点?
例如,Matlab 和 python 有linspace返回等距数字序列的函数。Ada 是否有类似的功能适用于任何长度的任何数组类型?
我可以创建一个通用函数来执行此操作,但这需要对每个数组类型进行单独的初始化,并且对于基本上为每个数组类型使用一次的函数来说,这似乎有点麻烦。
Ada 2022(例如带有 的 GCC 12 -gnat2022)允许
package Aggregates is
type A is array (Integer range <>) of Integer;
V : A := (for J in 1 .. 10 => J * 2);
end Aggregates;
Run Code Online (Sandbox Code Playgroud)