if()
Назначение
Функция if() проверяет на соответствие условию и возвращает одно из двух возможных значений в зависимости от того, какой результат условия был получен – истина или ложь.
Синтаксис и аргументы
Для функции необходимо наличие 3 аргументов. Порядок их следования важен. У каждого аргумента свое назначение:
-
первый аргумент – условие, подлежащее оценке. Результатом должно быть Булево выражение;
-
второй аргумент – возвращаемое значение, если условие первого аргумента ИСТИНА;
-
третий аргумент – возвращаемое значение, если условие первого аргумента ЛОЖЬ. Второй и третий аргументы должны принадлежать к одному типу данных, иначе PolyAnalyst выдаст сообщение о том, что данные не согласуются.
Второй и третий аргументы могут быть функциями, не обязательно значениями.
Первый аргумент, называемый условием или критерием, может быть любым выражением, которое приводит к результату истина или ложь (даже Булева колонка).
Например, условие могло бы быть 1 = 1.
Равна ли единица единице? Да, следовательно этот пример всегда будет оценен как истина.
Возвращаемое значение
Возвращаемое значение функции – значение либо второго, либо третьего аргумента. Тип данных возвращаемого значения основа на типах данных второго и третьего аргументов.
Если второй и третий аргументы – функции, то возвращаемое значение вложенной функции должно быть таким же.
Примеры
Рассмотрим более сложный пример:
Когда PolyAnalyst оценивает условие первого аргумента, он определяет, что результат является нулевым, и в этом случае невозможно определить, возвращать ли 2-ой или 3-ий аргумент, следовательно, возвращается нулевое значение.
Рассмотрим еще один пример:
Сначала оценивается условие 1 = 0, оно является ложным.
Далее оценивается 3 аргумент, который состоит из вложенной функции if().
Затем оценивается 9 = 9, что есть ИСТИНА, поэтому функция вернет 20000.