条件

条件分岐 の Julia

7個の演習

条件分岐について

比較演算子

Juliaの比較演算子は、多くの言語とよく似ていますが、数学好きのためのちょっとした追加オプションがあります。

等しいかどうかを比べる演算子には、==(等しい)と、!=または≠(等しくない)があります。

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

さらに、大小を比べるさまざまな演算子もあります。

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

Juliaではよくあることですが、適切なエディターを使えば数学記号を簡単に使えます。\ne、\le、\geと入力してからTABを押すと、≠、≤、≥になります。

先ほどの例では数値しか使っていませんが、シラバスの別のところで、ほかのさまざまな型にも順序の概念があり、大小を比較できることを見ていきます。

比較演算子はつなげて書くことができ、明確で簡潔な構文になります。

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

先ほどの例は、1 ≤ n && n ≤ 5と同じ意味です。

ifによる分岐

これが、if文の完全な形です。

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

括弧(())や波括弧({})は必要ありません。インデントは、読みやすくするためだけのものです_(ただし、読みやすさはとても大切です!)_。

elseifとelseはどちらも省略できます。また、elseifブロックは複数書くことができます。ただし、endは必ず必要です。

if文は入れ子にすることもできますが、そのときは括弧、インデント、コメントを上手に使って読みやすくするとよいでしょう。

if文の最も短い形は、次のようなものです。

if n < 0
    n = 0
end

念のため: 条件として使えるのは、trueまたはfalseに評価される式だけです。Juliaは「truthiness」という考え方を意図的に避けているので、ゼロの値、空の文字列、空の配列はfalseと_同じではありません_。

三項演算子

条件によって2つの値のどちらかを選ぶ、という単純でよくある場面があります。

Juliaには、多くの言語と同様に、これをより簡潔に書くための三項演算子があります。

構文はconditional ? value_if_true : value_if_falseです。

先ほどの例は、次のように書き換えられます。

n = n < 0 ? 0 : n

括弧はコンパイラーが要求するものではありませんが、付けると読みやすくなる場合があります。

Juliaにmatch文はあるのでしょうか?

現在のところ、match/caseのような構造は基本言語には含まれていません。

単純な場合には、if..elseif..elseの使用をおすすめします。

Scalaのような高度なパターンマッチングには、Match.jlパッケージが人気です。ただし、ほとんどのサードパーティ製パッケージと同様に、MatchはExercismのテストランナーでは利用できません。

GitHubで編集 リンクは新しいウィンドウまたはタブで開きます

条件分岐を学習する

練習はロックされています

条件分岐を練習するには、あと5個の演習のロックを解除してください