ブール論理と短絡評価
and、or、notで条件を組み合わせます。
「ブール論理と短絡評価」はCoddyKit上の無料Zig Academyレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはZig Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Zig Academyコースには全4レッスンが含まれています。
trueとfalseで考える
boolが持てる値は、trueとfalseの2つだけです。ブール論理を使うと、これらの答えを組み合わせて、コード内でより複雑な判断を行えます。
and演算子
Zigでは、論理ANDをキーワードandで表します。式全体がtrueになるのは、両辺がtrueの場合だけです。それ以外はfalseになります。
const ok = isReady and hasFuel;or演算子
キーワードorは論理ORを表します。どちらか一方がtrueなら結果はtrueになり、両方がfalseの場合だけfalseになります。
const go = isAdmin or isOwner;not演算子
!演算子でboolを否定できます。trueをfalseに、falseをtrueに反転し、反対の条件を表せます。
const stop = !isRunning;記号ではなく単語
Zigでは、&&や||の代わりにandとorという単語を使うことに注目してください。綴りで書かれたキーワードにより、条件を通常の英語のように読めます。
andの短絡評価
andでは、左辺がfalseなら右辺は評価されません。答えはすでにfalseと決まっているため、Zigは残りをスキップします。
if (ptr != null and ptr.*.ready) {}orも短絡評価されます
orでは、左辺がtrueなら右辺はスキップされます。結果はすでにtrueと決まっているため、それ以上確認する必要はありません。
if (cached or fetchSlow()) {}ガードとしての短絡評価
短絡評価を使うと、最初のチェックで2つ目のチェックを保護できます。実際に対象へアクセスする前に、それが有効かどうかを確認できます。
if (i < len and items[i] != 0) {}条件の順序を考える
評価は左から右へ進むため、低コストまたは安全なチェックを先に置きます。適切な順序にすれば、不要な処理や安全でないアクセスを避けられます。
ブール値はブール値のまま
Zigの論理は厳密です。and、or、!はboolに対してのみ機能します。trueまたはfalseが必要な場所に整数を渡すことはできません。
組み合わせて明確なルールにする
これらの演算子を組み合わせると、どのようなルールでも明確に表現できます。canEdit and not isLockedのような行は、適用するポリシーそのものに近い形で読めます。
const allow = canEdit and !isLocked;クイックチェック
式a and bで、bがスキップされるのはどのような場合ですか?
まとめ:論理を自在に制御する
and、or、!でboolを組み合わせ、それぞれが左から右へ短絡評価されることも理解しました。チェックの順序を適切にすれば、ルールを明確に保てます。✅
よくある質問
「ブール論理と短絡評価」レッスンは無料ですか?
はい。「ブール論理と短絡評価」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Zig Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Zig Academyコースには全4レッスンが含まれています。
「ブール論理と短絡評価」で何を学びますか?
and、or、notで条件を組み合わせます。 ブラウザで直接実行するハンズオンコードでZig Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Zig Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのZig Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。
「ブール論理と短絡評価」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このZig Academyレッスンでコードを書いて実行できますか?
はい。すべてのZig Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- 算術演算子と比較演算子
- オーバーフロー:+、+%、+|の違い
- ビット演算子
- ブール論理と短絡評価