Trilhas
/
Julia
Julia
/
Programa
/
Condicionais
Co

Condicionais em Julia

7 exercícios

Sobre Condicionais

Operadores de comparação

Operadores de comparação em Julia são semelhantes aos de muitas outras linguagens, embora com algumas opções extras para quem gosta de matemática.

Para igualdade, os operadores são == (igual) e != ou ≠ (diferente).

txt = "abc"
txt == "abc"  # true
txt != "abc"  # false
txt ≠ "abc"  # false (synonym for !=)

Além disso, temos os vários operadores de maior e menor que.

1 < 3  # true
3 > 3  # false
3 <= 3  # true
3 ≤ 3  # true (synonym for <=)
4 >= 3  # true
4 ≥ 3  # true (synonym for >=)

Como costuma acontecer com Julia, um editor adequado facilita o uso dos símbolos matemáticos. Digite \ne, \le ou \ge e depois TAB para obter ≠, ≤ ou ≥.

O exemplo anterior usa apenas números, mas veremos em outras partes do programa que vários tipos adicionais têm uma noção de ordenação e podem ser testados quanto a ser maior ou menor.

Os operadores de comparação podem ser encadeados, o que permite uma sintaxe clara e concisa:

n = 3
1 ≤ n ≤ 5  # true (n "between" two limits)

O exemplo anterior é sinônimo de 1 ≤ n && n ≤ 5.

Ramificação com if

Esta é a forma completa de uma condicional if:

if conditional1
    statements...
elseif conditional2
    statements...
else
    statements...
end

Não há necessidade de parênteses () nem de chaves {}, e a indentação serve "apenas" para melhorar a legibilidade (mas legibilidade é muito importante!).

Tanto elseif quanto else são opcionais, e pode haver vários blocos elseif. Porém, o end é obrigatório.

É possível aninhar condicionais if, embora você possa querer ajudar a legibilidade com o uso criterioso de parênteses, indentação e comentários.

A forma mais curta de uma condicional if seria algo assim:

if n < 0
    n = 0
end

Como lembrete: apenas expressões que resultam em true ou false podem ser usadas como condicionais. Julia evita deliberadamente qualquer conceito de "truthiness", então valores zero, strings vazias e arrays vazios não são equivalentes a false.

Operador ternário

Uma situação simples e comum é escolher um de dois valores com base em uma condicional.

Julia, como muitas linguagens, tem um operador ternário para tornar isso mais conciso.

A sintaxe é conditional ? value_if_true : value_if_false.

Assim, o exemplo anterior poderia ser reescrito:

n = n < 0 ? 0 : n

Os parênteses não são exigidos pelo compilador, mas podem melhorar a legibilidade.

Julia tem uma instrução match?

No momento, nenhuma estrutura match/case faz parte da linguagem base.

Para casos simples, recomenda-se usar if..elseif..else.

Para correspondência de padrões sofisticada, semelhante à de Scala, o pacote Match.jl é popular. Porém, como acontece com a maioria dos pacotes de terceiros, Match não está disponível no test runner do Exercism.

Editar via GitHub O link abre em uma nova janela ou aba

Aprenda Condicionais

A prática está bloqueada

Desbloqueie mais 5 exercícios para praticar Condicionais