Сомнения на языке ада

Всем привет,

Я новичок в языке ада. У меня есть короткий фрагмент кода. Может ли кто-нибудь сказать мне, что это значит?

type Myarr_Type is array (Character) of Character;

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

Мой вопрос: 1) Что содержат C1 и C2 в соответствии с приведенным выше кодом?

Пожалуйста, извините, если это действительно глупо. У меня нет компилятора ada для проверки содержимого этой переменной.

С уважением Мэдди


person maddy    schedule 15.04.2010    source источник
comment
Загрузить работающий компилятор Ada для Windows или Linux несложно по адресу libre.adacore.com/libre.   -  person Marc C    schedule 15.04.2010
comment
Если кодер не создает какую-то функцию отображения, он, вероятно, не имел в виду индексацию массива по всем Character. Это выглядит подозрительно   -  person T.E.D.    schedule 20.04.2010


Ответы (1)


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

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

person Greg Hewgill    schedule 15.04.2010
comment
Грег, я просто подумал, что C1 будет представлять A, а C2 будет Z. Этот короткий фрагмент кода покажет: while Array_not_Filled loop Myarr(Ndx) := C1; C1 := Символ'succ(C1); Ndx := Символ'succ(NDX); Array_not_Filled := нет (C1 = C2); конечная петля; - person maddy; 15.04.2010
comment
@ Грег: ты прав. Я вижу в разделе 3.5.2 справочного руководства, где он определяет Character как имеющий 256 значений. - person Matthew T. Staebler; 15.04.2010
comment
@maddy: character содержит не только буквы. Вероятно, вы обнаружите, что ваш Myarr имеет 256 элементов. - person Greg Hewgill; 15.04.2010