if()

Назначение

Функция if() проверяет на соответствие условию и возвращает одно из двух возможных значений в зависимости от того, какой результат условия был получен – истина или ложь.

Синтаксис и аргументы

if(условие, возвращаемое значение при истинном условии, возвращаемое значение при ложном условии)

Для функции необходимо наличие 3 аргументов. Порядок их следования важен. У каждого аргумента свое назначение:

  • первый аргумент – условие, подлежащее оценке. Результатом должно быть Булево выражение;

  • второй аргумент – возвращаемое значение, если условие первого аргумента ИСТИНА;

  • третий аргумент – возвращаемое значение, если условие первого аргумента ЛОЖЬ. Второй и третий аргументы должны принадлежать к одному типу данных, иначе PolyAnalyst выдаст сообщение о том, что данные не согласуются.

Второй и третий аргументы могут быть функциями, не обязательно значениями.

Первый аргумент, называемый условием или критерием, может быть любым выражением, которое приводит к результату истина или ложь (даже Булева колонка).

Например, условие могло бы быть 1 = 1.

if(1 = 1, "значение всегда будет истинным, следовательно, вернется это значение", "это значение не будет возвращено")

Равна ли единица единице? Да, следовательно этот пример всегда будет оценен как истина.

Возвращаемое значение

Возвращаемое значение функции – значение либо второго, либо третьего аргумента. Тип данных возвращаемого значения основа на типах данных второго и третьего аргументов.

Если второй и третий аргументы – функции, то возвращаемое значение вложенной функции должно быть таким же.

Примеры

if(1 > 2, "Hello", "Goodbye") возвращает "Goodbye" if(1 < 2, "Hello", "Goodbye") возвращает "Hello" if(yes, 1, 0) возвращает 1 if(no, 0, 1) возвращает 1

Рассмотрим более сложный пример:

if(нулевое Булево значение, 20, 30) возвращает нулевое значение типа Целое число

Когда PolyAnalyst оценивает условие первого аргумента, он определяет, что результат является нулевым, и в этом случае невозможно определить, возвращать ли 2-ой или 3-ий аргумент, следовательно, возвращается нулевое значение.

Рассмотрим еще один пример:

if(1 = 0, if(1 = 1, 5, 6), if(9 = 9, 20000, 4)) возвращает 20000

Сначала оценивается условие 1 = 0, оно является ложным.

Далее оценивается 3 аргумент, который состоит из вложенной функции if().

Затем оценивается 9 = 9, что есть ИСТИНА, поэтому функция вернет 20000.