在过程中使用包规范

时间:2016-01-02 09:44:59

标签: ada

我想在程序中使用包规范。

缺少一些东西,但我不知道是什么。

  

using_ads_package.adb:14:11:" var"不可见

     

using_ads_package.adb:14:11:第8行的不可见声明

with Ada.Strings.Unbounded; use Ada.Strings.Unbounded;
with Ada.Text_IO.Unbounded_IO;  use Ada.Text_IO.Unbounded_IO;

Procedure using_ads_package is

   Package variable is

      var : Unbounded_String ;

   end variable ;

Begin

   get_line(var);

End using_ads_package ;

2 个答案:

答案 0 :(得分:5)

procedure Using_Ads_Package is
   package Variable is
      Var : Unbounded_String;
   end Variable;
begin

您已在package Variable中创建了新范围。在Variable之外,Var无法直接显示。

Variable之外,您有两种方式可以引用Var

首先,您可以命名明确声明它的包:

   Get_Line (Variable.Var);

或者,您可以use Variable

   package Variable is
      Var : Unbounded_String;
   end Variable;
   use Variable;
begin
   Get_Line (Var);

答案 1 :(得分:1)

没有编译,我建议行:

 get_line(var);

应该是:

 get_line(variable.var);