if оператор используется для выполнения кода в случае удовлетворению условию.

Синтаксис

править

if-statement =
    if <expression>
        <statements>
    (else if <expression>
        <statements>)*
    [else
        <statements>]

if(<condition>, <texpr>, <fexpr>)

Если condition истинно, то то вычисляется значение выражения texpr, в противном случае значение выражения fexpr.
Выражения texpr и fexpr не обязаны быть одного типа.
Заметим, что вместо if выражений для проверки на nil, лучше использовать оператор coalesce.

Пример

править

“if-блок” выражений выполняется если условие истинно, иначе выполняется другой “else-блок”. Может выполняться только один блок выражений. “else-блок” является не обязательным.
Допустимо использовать оператор if внутри другого оператора условия и так далее.

# Example 1
if name
    print 'Hello, [name].'

# Example 2
if name
    print 'Hello, [name].'
else
    print "I don't know your name."

# Example 3
if x < y
    print 'x is smaller'
else if x > y
    print 'x is larger'
else
    print 'x and y are the same'

# Example 1 
print if(x>y, x, y) 

# Example 2 
print if(value, 'yes', 'no') # type is String 

# Example 3 
total += if(direction==DirectionEnum.Long, +1, -1) * amount 

# Example 4 
foo = if(condition, 'x', nil) # type is String? 

# Example 5 
foo = if(condition, 'x', 5) # type is Object