我无法弄清Ada中的关键字separate及其深度概念。请举一个小例子来帮助我理解?

可以说我有一个嵌套过程

with ada.text_io; use ada.text_io;
procedure main is
   procedure proc is
   begin
      put_line ("i am proc");
   end proc;
begin
   put_line ("main");
end main;

如何使用单独的关键字?

最佳答案

您主要使用split关键字来实现2种效果之一。

  • 操作系统特定的操作。 (将过程/函数的2个版本放在不同的目录中,并针对2个不同的目标进行编译)
  • 冗长的过程与周围的代码分离。

  • 这是显示语法的示例。

    package_x.ads
    package Package_X is
    
       procedure Foo;
       procedure Sep;
    
    end Package_X;
    

    package_x.adb
    package body Package_X is
    
       procedure Foo is
       begin
          null;
       end Foo;
    
       procedure Sep is separate;
    
    end Package_X;
    

    package_x-sep.adb
    separate (Package_X) procedure Sep is
    begin
       null;
    end Sep;
    

    关于ada - 我如何使用 “separate"关键字,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28008052/

    10-12 20:57