Функция 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.