1

我是 Ada 的初学者,我遇到了如下所示的一段代码:

                   procedure Null_Proc is
                   begin
                    null;
                   end;

现在据我所知,Ada 中的程序不会返回任何内容。我的疑问是这个过程 Null_proc 做什么?我的意思是我不清楚程序的定义。

4

2 回答 2

4

它什么也不做。

当必须调用过程但什么都不做时,它可能很有用;否则,它几乎没有价值。(我正在记忆中工作;我假设 Ada 确实允许函数或过程作为其他函数的参数 - 就 C 而言,指向函数的指针。)

于 2010-05-27T06:13:14.413 回答
3

with众所周知,当所有“真实代码”都在ed 包中时,我会以这种方式编写主例程。如果您的程序使用任务分配,则这种情况尤其可能发生,因为主例程不能像任务那样接受集合点,因此它通常最终无事可做。您的整个程序将保持活动状态,直到所有任务完成,因此主程序实际上不需要做任何事情。

另一种可能的用途是实现某种默认例程以提供给回调。

于 2010-05-28T03:29:19.870 回答