If2
Revision as of 13:28, 27 December 2025 by 1>Admin (Created page with "{{infobox function |name=__If, ?? |object=Функции общего назначения |caption=Логические функции |type=2 |status=2 |db=0 |visual=0}}...")
| __If, ?? (Логические функции) | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||
Магическая функция позволяет превратить несколько последовательных конструкций If в вычисляемое выражение. Функция используется для улучшения читаемости текстов и облегчения программирования. Однако, использование большого количества вложенных условий с помощью этой функции, может дать обратный эффект усложнения читаемости текстов. См. также _If в общем описании и упрощенный вариант _If.
Синтаксис
__If(<Условие>,<Результат, если условие выполнено>,<Условие 2>,<Результат, если условие 2 выполнено>,...<Результат, если не выполнено ни одно из условий>=<NOTHING>):<Результат>
Аргументы
<Условие X>- Логические выражения, условия которых проверяются.<Результат, если условие X выполнено>- Вычисляемые выражения, значения которых возвращается функцией, если соответствующее им условие выполнено<Результат, если не выполнено ни одно из условий>- (необязательный аргумент) Вычисляемое выражение, значение которого возвращается функцией, если ни одно из условий не выполнено, если выражение не задано и условия не выполняются, функция возвращает пустое значение.
Возвращаемое значение
Возвращает значение одного из вычисляемых выражений или пустое значение.
Примеры
Randomize;
a:=Random(10);
b:=Random(10);
c:=Random(10);
//Конструкция с __If
Message(??((a>b)And(a>c),"a большее из трех",(b>a)And(b>c),"b большее из трех",(c>a)And(c>b),"c большее из трех","значения по крайней мере двух из переменных равны"));
//Конструкция с If
If (a>b)And(a>c) Then
Message("a большее из трех");
ElseIf (b>a)And(b>c) Then
Message("b большее из трех");
ElseIf (c>a)And(c>b) Then
Message("c большее из трех");
Else
Message("значения по крайней мере двух из переменных равны");
EndIf;
//Обе представленные конструкции имеют одинаковую функцию, при этом первая проще.