2010-04-15 4 views
1

HI все,Сомнения в языке Ada

Я новичок в Ada language.I имеют короткий кусок code.Can кто-то пожалуйста, тел мне, что это значит?

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

Тривиально загрузить рабочий компилятор Ada для Windows или Linux по адресу http://libre.adacore.com/libre. –

+0

Если кодер не выполняет какую-либо функцию сопоставления, они, вероятно, не означают индексацию массива всем символом. Это выглядит подозрительно –

ответ

3

The 'first и 'last атрибуты типа указывают на первый и последний значения диапазона, охватываемого типом. В этом случае C1 - character'val(0) и C2 - character'val(255) (character is an 8-bit character type).

Подробнее об этих «Определенных языками атрибутах» вы можете узнать в Annex K из Ada 95 Reference Manual.

+0

Грег, я думал, что C1 будет представлять A и C2 будет Z. Этот короткий фрагмент кода покажет: while Array_not_Filled loop Myarr (Ndx): = C1; C1: = Character'succ (C1); Ndx: = Character'succ (NDX); Array_not_Filled: = not (C1 = C2); контур конца; – maddy

+0

@Greg: Вы правы. Я вижу в разделе 3.5.2 справочного руководства, где он определяет «Символ» как имеющий 256 значений. –

+0

@maddy: 'character' содержит больше, чем просто буквы. Вероятно, вы обнаружите, что ваш «Myarr» имеет 256 элементов. –

Смежные вопросы