2010-04-15 50 views
1

HI全部,ada语言中的疑问

我是ada语言的初学者。我有一小段代码。可以请任何人联系我,这意味着什么?

type Myarr_Type is array (Character) of Character; 

    Myarr : Myarr_Type; 
    C1 : character := character'first; 
    C2 : character := character'last; 

我的问题是1)根据上面的代码C1和C2包含什么?

请不要借口,如果这是真的silly.I不要有一个ADA编译器检查这个变量

问候的内容 马迪

+1

在http://libre.adacore.com/libre下载适用于Windows或Linux的工作Ada编译器非常简单。 – 2010-04-15 12:59:30

+0

除非编码器正在制作某种映射函数,否则它们可能并不意味着将所有的“Character”都编入索引。这看起来很可疑 – 2010-04-20 18:30:14

回答

3

一种类型的'first'last属性表示第一和最后一个的值为所涵盖的范围。在这种情况下,C1character'val(0)C2character'val(255)character is an 8-bit character type)。

您可以在Ada 95 Reference ManualAnnex K中详细了解这些“语言定义的属性”。

+0

Greg,我觉得C1会代表A,而C2会是Z.这段简短的代码会显示: while Array_not_Filled loop Myarr(Ndx):= C1; C1:= Character'succ(C1); Ndx:= Character'succ(NDX); Ndx:= Character'succ(NDX); Array_not_Filled:= not(C1 = C2); end loop; – maddy 2010-04-15 09:28:50

+0

@Greg:你说的没错。我在参考手册的3.5.2节中看到它将Character定义为256个值。 – 2010-04-15 09:30:24

+0

@maddy:'字符不仅仅包含字母。你可能会发现你的'Myarr'有256个元素。 – 2010-04-15 09:30:25