2010-04-15 40 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