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