子程序声明部分的评估顺序Ada

时间:2018-11-29 04:30:31

标签: ada

在Ada中子程序的声明部分中,变量赋值的评估顺序是否是声明它们的顺序?例如,如果我写

procedure Foo() is
I: Integer := 4;
J: Integer := I * 2;
begin
--do stuff
end Foo;

我可以肯定地说I将始终在J之前进行评估吗?

1 个答案:

答案 0 :(得分:3)

在我看来,根据ARM 3.11(7),声明性项目确实按顺序进行了评估:

  

对declarative_part的详细说明包括对declarative_item(如果有)的详细说明,按照在declarative_part中给出的顺序进行。


已编辑:ARM的来源