Arrays 确定Ada数组的维数

Arrays 确定Ada数组的维数,arrays,ada,Arrays,Ada,是否可以在运行时确定Ada数组的维数?例如,给定数组类型 type int_int_array is array (1 .. 3, 1 .. 4) of integer; 我正在寻找一些属性或属性组合,可以用来确定数组有2个维度。最终目标实际上是迭代整个数组,但我知道,只有在提前知道维度计数的情况下,所有这样做的方法才有效。在当前的开发过程中,数组的定义(包括维度的数量)将会发生很大的变化,我希望我不必每次都更新遍历它的每一段代码 谢谢 您将始终知道它,因此无需在运行时询问。我的问题是,有很多

是否可以在运行时确定Ada数组的维数?例如,给定数组类型

type int_int_array is array (1 .. 3, 1 .. 4) of integer;
我正在寻找一些属性或属性组合,可以用来确定数组有2个维度。最终目标实际上是迭代整个数组,但我知道,只有在提前知道维度计数的情况下,所有这样做的方法才有效。在当前的开发过程中,数组的定义(包括维度的数量)将会发生很大的变化,我希望我不必每次都更新遍历它的每一段代码


谢谢

您将始终知道它,因此无需在运行时询问。

我的问题是,有很多地方希望迭代整个数组。在过去几周的开发过程中,数组维度从1变为2变为3,再变回2,随着一些东西的调整,这种情况将继续下去。迭代器代码可以使用“range”属性来处理不断变化的范围,但我希望有一种方法可以避免在维度更新时触及迭代器代码的每一部分。那么,也许你应该在问题中询问这一点。ADA2012中的解决方案很简单:
对于数组的E\u实例循环。。。端环很有效,谢谢。我和Ada95一起长大,显然那不是一个构造。还有,无意冒犯,但是你错过了我问题的最后一句吗?这与我之前的评论基本相同,跟踪语言的发展是很有用的。快速“升级”路径可能是阅读2012年《美国残疾人法案》的基本原理,也可能是2005年《美国残疾人法案》。(是的,我确实注意到了问题的最后一句话——即使是在我第一次读它的时候。)