Функция ICase Назад В начало Вперед

Назначение

При работе вычисляется условие, затем вычисляется выражение, соответствующие по порядку значению условия. Нумерация выражений начинается с 0. Если значение условия меньше 0 или больше количества выражений уменьшенного на 1, вычисляется выражение else. Возвращаемые значения всех выражений, в том числе выражения else приводятся к общему типу. Если это невозможно выдается сообщение об ошибке.

Описание

ICase "(" <условие>
		 ";" <выражение>
		{"," <выражение> }
		[";"<выражение_else> ]
	")"

Параметры

<условие> - вычисляемое выражение, должно возвращать значение целочисленного типа.

<выражение> - вычисляемое выражение.

<выражение_else> - вычисляемое выражение. Если выражение else не задано, то по умолчанию генерируется выражение, возвращающее нулевое значение, тип которого совпадает с типом возвращаемого значения остальных операторов. Например для строки - пустая строка, для числа - 0 и т.д.

Результат

Результат вычисления выражения, соответствующего по порядку значению условия. Если значение условия меньше 0 или больше количества выражений уменьшенного на 1, вычисляется выражение else.

Пример

interface intExprCase;
  function a(i : word) : string;
  {
	a := icase(i;
		 'I = 0',
		 'I = 1',
		 'I = 2';
		 'strELSE');
  }
  
  handleEvent
	cmInit : {
		Message ('Передаю 0');
		Message (a(0));
		Message ('Передаю 1');
		Message (a(1));
		Message ('Передаю 2');
		Message (a(2));
		Message ('Передаю 3');
		Message (a(3));
}
  end;
end.

Версия

Атлантис 5.0.03.