Pular para o conteúdo

Condicionais

have_coins = false
if have_coins
print "Tem moedas"
else
print "Sem moedas"

Uma sintaxe curta para instruções únicas também pode ser usada:

have_coins = false
if have_coins then print "Tem moedas" else print "Sem moedas"

Como instruções if podem ser usadas como expressões, isso também pode ser escrito como:

have_coins = false
print if have_coins then "Tem moedas" else "Sem moedas"

Condicionais também podem ser usados em instruções de retorno e atribuições:

is_tall = (name) ->
if name == "Rob"
true
else
false
message = if is_tall "Rob"
"Sou muito alto"
else
"Não sou tão alto"
print message -- imprime: Sou muito alto

O oposto de if é unless:

unless os.date("%A") == "Monday"
print "não é segunda-feira!"
print "Você tem sorte!" unless math.random! > 0.1

Você pode escrever código de verificação de intervalo com uma in-expression.

a = 5
if a in [1, 3, 5, 7]
print "verificando igualdade com valores discretos"
if a in list
print "verificando se `a` está na lista"

O operador in também pode ser usado com tabelas e suporta a variante not in para negação:

has = "foo" in {"bar", "foo"}
if a in {1, 2, 3}
print "a está na tabela"
not_exist = item not in list
check = -> value not in table

Uma lista ou tabela de único elemento verifica igualdade com esse elemento:

-- [1,] verifica se valor == 1
c = a in [1,]
-- {1} também verifica se valor == 1
c = a in {1}
-- Sem vírgula, [1] é acesso por índice (tb[1])
with tb
c = a in [1]

YueScriptCompilador

Carregando compilador…