открыть: Синтаксис 2Syntax 1

Конструкция выполнения по условию

В ksi нет ключевых слов if и else. Вместо этого используется аналогичная конструкция: условие ? действие ;

После условия ставится вопросительный знак, и далее следует действие. В конце ставится точка с запятой. Результат условия приводится к типу $bool, если необходимо.

x < 10 ? a = 1 b = 2 ;

Можно назначить 'действие-иначе', которое будет выполняться, когда условие ложно: условие ? действие | действие_иначе ;

x < 10 ? a = 1 b = 2 | a = 0 ;

Ключевого слова elseif в ksi тоже нет. Но есть возможность проверки более одного условия.

x < 10 ? a = 1 b = 2 | x == 10 ? c = 3 | x == 20 ? d = 4 ;

Будет выполнено 'действие-иначе', когда ни одно из условий не выполняется:

x = 11 x < 10 ? a = 1 b = 2 | x == 10 ? c = 3 | a = 0 ;

Условие, как часть более сложного выражения

Эта конструкция сама принимает значение, и оно может быть использовано в других выражениях.

x = 11 z = ( x < 10 ? 'case 1' | x == 10 ? "case 2" | 'case 3' ; )

Когда ни одно из условий не подходит и условие иначе отсутствует, то результатом будет null #.

Вложенные условные конструкции

Для предотвращения неоднозначностей вложенное условие заключается в скобочки.

x = 5, z = 'hello' x < 10 ?( z #is $text ? z #echo# ; );