Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何检查Ada中是否存在数组元素_Ada - Fatal编程技术网

如何检查Ada中是否存在数组元素

如何检查Ada中是否存在数组元素,ada,Ada,如何检查数组中的元素是否存在于Ada中。还有什么好的Ada文档站点,比如python或php文档站点,这样我就可以搜索所有类型的函数及其用法。我无法在google中找到更多关于Ada中某些类型函数的信息 soldiers : array (0..max_number_of_soldiers - 1) of soldier_type; procedure Next (Index: in out Integer; Interval: Positive) is begin f

如何检查数组中的元素是否存在于Ada中。还有什么好的Ada文档站点,比如python或php文档站点,这样我就可以搜索所有类型的函数及其用法。我无法在google中找到更多关于Ada中某些类型函数的信息

soldiers : array (0..max_number_of_soldiers - 1) of soldier_type;
procedure Next (Index: in out Integer; Interval: Positive) is
     begin
        for I in 1..Interval loop
           loop
             Index := (Index + 1) mod Number_Of_Soldiers;
             exit when Soldiers(Index).Alive;
           end loop;
        end loop;
     end Next;
《士兵(索引)》《活着的人》是什么?什么是活的

“士兵(索引)。活着显示什么?什么是。活着?”

soldier\u type
的确切类型定义缺失,但显然它有一个(布尔)
alive
字段

这里有一个
max\u number\u士兵数组。这段代码在数组中进行迭代,当它找到一个活着的士兵时退出

它从索引
索引
开始,循环通过
间隔
项。如果到达末端,它将从阵列的开始处包装和开始


因此,为了回答您的问题,士兵(Index).Alive返回
索引处的焊料是否处于活动状态。

Ada中的数组可以根据编码器的要求声明任何边界,甚至可以通过调用例程(可能在运行时从用户处读取适当的大小)来声明。编码器可以使用诸如
'first
'last
'length
等属性来检索边界。按照惯例,Ada中的数组通常不使用终止符前哨值

所有这些加起来就是,通常假设Ada数组中的每个元素都包含一个有效值。如果有一些原因说明这可能并不总是正确的,那么编码人员有责任提出一个方案来跟踪哪些元素具有良好的价值

在您提供的代码中,似乎假定该数组中的每个元素都具有有效值
soldier\u type
,这显然是一种记录类型,具有名为
Alive
的布尔字段。除了他用它来终止他的循环之外,我能告诉你的不多

好吧,我想我可以告诉你,如果整个数组中没有记录设置了
Alive
标志,那么你就得到了一个无限循环。那可能不是你想要的。另外,如果是我,我会让数组从1变成最大士兵数,因为它读起来更好。要么有更多的代码处理这个数组,当它基于0时看起来更好,要么有人是一个C程序员,并且很难摆脱旧习惯

对于文档,我建议查看中列出的站点。如果您对语言定义的函数和诸如此类的东西有特别的兴趣,那么您应该知道,可以在线获取整个函数(与我可以命名的许多其他语言不同)。我强烈建议查看附件(预定义的语言环境),(语言定义的属性)和(语言定义的杂注)。尤其应该仔细阅读K