Zig Academy · レッスン

文と式としてのif

分岐と値の返却を1つの形式で行います。

レッスン 1/413 ステップ

「文と式としてのif」はCoddyKit上の無料Zig Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはZig Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Zig Academyコースには全4レッスンが含まれています。

ifによる分岐

ifを使うと、処理の経路を選択できます。Zigは条件がtrueのとき最初のブロックを実行し、それ以外の場合はスキップします。単純で明示的です。🌿

if (score > 50) {
    std.debug.print("Pass\n", .{});
}

条件はboolでなければなりません

括弧内の条件は、実際のboolでなければなりません。Zigでは整数やポインタをここで使えないため、truthyやfalsyを推測することはありません。

elseを追加する

ifとelseを組み合わせて、falseの場合を処理します。2つのブロックのうち、実行されるのは必ず一方だけです。両方が実行されたり、どちらも実行されなかったりすることはありません。

if (ready) {
    start();
} else {
    wait();
}

else ifを連結する

else ifでテストを重ね、複数の分岐から1つを選びます。Zigは上から順に確認し、最初に一致した時点で停止します。

if (n < 0) {
    sign = -1;
} else if (n > 0) {
    sign = 1;
} else {
    sign = 0;
}

ifは式にもなります

Zigでは、ifは値を生成することもできます。両方の分岐が何らかの値を返し、if全体がその結果になって代入できます。

const max = if (a > b) a else b;

両方の分岐は同じ型でなければなりません

ifが値を生成する場合、両方の分岐は同じ型でなければなりません。コンパイラが両者を調整し、結果を単一の予測可能な型にします。

三項演算子は不要です

Zigには三項演算子がありません。ifの式形式がその役割をきれいに果たすため、選択を記述する方法が1つに保たれます。

Optionalのアンラップ

ifを使うと、Optionalのテストとアンラップを一度に行えます。キャプチャした名前には、値が存在する場合にだけ内部の値が入ります。

if (maybe_user) |user| {
    greet(user);
}

ifでエラーをキャプチャする

ifでは、エラーユニオンを分解することもできます。式が失敗した場合、else分岐でエラー値をキャプチャできます。

if (parse(text)) |value| {
    use(value);
} else |err| {
    report(err);
}

波括弧は必須です

Zigでは、1行だけの場合でもifの本体を波括弧で囲む必要があります。これにより、dangling statementに関するバグの一群をなくせます。

早期return

よく使われるパターンは、ifの中でreturnする早期returnです。特殊なケースを先に処理すれば、関数の残りを上から順に読み進められます。

if (list.len == 0) return;

クイックチェック

1行で、maxにaとbの大きい方を入れたいとします。どのZigの形式が使えますか?

まとめ

ifについて、文としても式としても学びました。bool条件、elseとelse if、値を返す分岐、Optionalやエラーのキャプチャが含まれます。🎯

無料で開始

AI チューターと学ぶ Zig — 無料

ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。

コース
30
レッスン
120

よくある質問

「文と式としてのif」レッスンは無料ですか?

はい。「文と式としてのif」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Zig Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Zig Academyコースには全4レッスンが含まれています。

「文と式としてのif」で何を学びますか?

分岐と値の返却を1つの形式で行います。 ブラウザで直接実行するハンズオンコードでZig Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Zig Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのZig Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。

「文と式としてのif」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このZig Academyレッスンでコードを書いて実行できますか?

はい。すべてのZig Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. 文と式としてのif
  2. whileループとcontinue式
  3. 範囲と項目に対するforループ
  4. break、continue、ラベル付きループ
← Zig Academyに戻る