Parcours
/
Julia
Julia
/
Programme
/
Conditionnelles
Co

Conditionnelles en Julia

7 exercices

À propos de Conditionnelles

Opérateurs de comparaison

Les opérateurs de comparaison en Julia sont similaires à ceux de nombreux autres langages, avec toutefois quelques options supplémentaires pour les amateurs de mathématiques.

Pour l'égalité, les opérateurs sont == (égal) et != ou ≠ (différent).

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

De plus, on dispose des différents opérateurs de comparaison supérieur/inférieur.

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

Comme souvent avec Julia, un éditeur adapté facilite l'utilisation des symboles mathématiques. Tape \ne, \le ou \ge puis TAB pour obtenir ≠, ≤ ou ≥.

L'exemple précédent n'utilise que des nombres, mais nous verrons dans d'autres parties du programme que divers autres types possèdent une relation d'ordre et peuvent être comparés avec les opérateurs supérieur/inférieur.

Les opérateurs de comparaison peuvent être enchaînés, ce qui permet une syntaxe claire et concise :

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

L'exemple précédent est un synonyme de 1 ≤ n && n ≤ 5.

Les branchements avec if

Voici la forme complète d'une instruction if :

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

Les parenthèses () et les accolades {} ne sont pas nécessaires, et l'indentation sert « seulement » à améliorer la lisibilité (mais la lisibilité est très importante !).

elseif et else sont tous deux facultatifs, et il peut y avoir plusieurs blocs elseif. En revanche, le end est obligatoire.

Il est possible d'imbriquer des instructions if, même si on peut vouloir favoriser la lisibilité par un usage réfléchi des parenthèses, des indentations et des commentaires.

La forme la plus courte d'une instruction if ressemble à ceci :

if n < 0
    n = 0
end

Pour rappel : seules les expressions qui s'évaluent à true ou false peuvent être utilisées comme conditions. Julia évite délibérément toute notion de « truthiness », donc les valeurs nulles, les strings vides et les tableaux vides ne sont pas équivalents à false.

L'opérateur ternaire

Une situation simple et courante consiste à choisir l'une de deux valeurs selon une condition.

Julia, comme beaucoup de langages, dispose d'un opérateur ternaire pour rendre cela plus concis.

La syntaxe est conditional ? value_if_true : value_if_false.

L'exemple précédent pourrait donc s'écrire :

n = n < 0 ? 0 : n

Les parenthèses ne sont pas exigées par le compilateur, mais elles peuvent améliorer la lisibilité.

Julia a-t-il une instruction match ?

Aucune structure match/case ne fait actuellement partie du langage de base.

Pour les cas simples, l'usage de if..elseif..else est recommandé.

Pour la correspondance de motifs avancée, similaire à celle de Scala, le paquet Match.jl est populaire. Cependant, comme la plupart des paquets tiers, Match n'est pas disponible dans l'exécuteur de tests d'Exercism.

Modifie via GitHub Le lien s'ouvre dans une nouvelle fenêtre ou un nouvel onglet

Apprends Conditionnelles

L'entraînement est verrouillé

Déverrouille 5 exercices de plus pour t'entraîner sur Conditionnelles