相关疑难解决方法(0)

为什么Ada编译器会让范围违规通过?为什么我的类型声明是运行时实体?

为什么Ada编译器会通过范围违规?它确实给出了警告,但是如果它在任何情况下都是错误的话,为什么它会通过呢?是否存在实际情况,这是一种有用的行为?

最重要的是:为什么类型声明是运行时实体?我的意思是代码示例的第3行是我希望提前评估的东西.我以为只有第5行才能"成为"可执行文件.为什么不?这有用吗?我在这里遗漏或误解了什么吗?

with Ada.Text_IO;
procedure question is
    subtype Test is Natural range -1 .. 10;
begin
    Ada.Text_IO.Put_Line ("foobar");
end;
Run Code Online (Sandbox Code Playgroud)

注意:结果与"类型测试是新的自然范围-1..10;"相同

注意:GNAT 4.6

types runtime ada range compile-time

3
推荐指数
1
解决办法
381
查看次数

是否可以声明具有无限上限的Ada范围?

我想声明Ada中记录类型的速度范围。以下内容不起作用,但是有办法使其起作用吗?

   --Speed in knots, range 0 to unlimited
   Speed : float Range 0.0 .. unlimited ;
Run Code Online (Sandbox Code Playgroud)

我只想要这个数字为零正值...

ada

3
推荐指数
1
解决办法
139
查看次数

在Ada中重命名类型有什么意义

在Ada,我经常看到这样的事情:

type Number is new Integer;
Run Code Online (Sandbox Code Playgroud)

这有什么意义?你能不能满意Integer吗?我也见过如下代码:

type Small_Number is range 1..5;
Run Code Online (Sandbox Code Playgroud)

这对我来说很有意义; 我明白为什么这会有用.但是,为什么,无论如何你会选择使用前一个例子?

types ada

2
推荐指数
2
解决办法
1129
查看次数

示例代码详细说明了Ada和Java之间的输入差异

我试图想出一个很好的例子,详细说明了Ada的严格打字和Java的强类型之间的区别.有没有人有一个很好的例子来确定使用基于整数的值的类型转换中的这些差异?

java ada type-conversion

2
推荐指数
1
解决办法
185
查看次数

Ada-提出了Constraint_error:“值:

我正在尝试使用Integer'Value将字符串转换为Integer。这对于文件的第一个循环工作正常,但是之后我得到了一个错误的'value输入(提高了Constraint_Error。我希望有人可以向我展示我的方式的错误,以便可以将字符串转换为整数)。每个循环。

WITH Ada.Text_IO, Ada.Integer_Text_IO;
USE Ada.Text_IO, Ada.Integer_Text_IO;

PROCEDURE Isbntest IS

  FUNCTION Strip(The_String: String; The_Characters: String)
        RETURN String IS
     Keep: ARRAY (Character) OF Boolean := (OTHERS => True);
     Result: String(The_String'RANGE);
     Last: Natural := Result'First-1;
  BEGIN
     FOR I IN The_Characters'Range LOOP
        Keep(The_Characters(I)) := False;
     END LOOP;
     FOR J IN The_String'RANGE LOOP
        IF Keep(The_String(J)) THEN
           Last := Last+1;
           Result(Last) := The_String(J);
        END IF;
     END LOOP;
     RETURN Result(Result'First .. Last);
  END Strip;


  Input: File_Type := Ada.Text_IO.Standard_Input;

BEGIN

   WHILE NOT End_of_File(Input) LOOP
     DECLARE 
     Line : …
Run Code Online (Sandbox Code Playgroud)

arrays string ada

0
推荐指数
1
解决办法
327
查看次数

标签 统计

ada ×5

types ×2

arrays ×1

compile-time ×1

java ×1

range ×1

runtime ×1

string ×1

type-conversion ×1