文と式としてのif
分岐と値の返却を1つの形式で行います。
「文と式としての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フィードバックを取得できます。ローカル設定は不要です。