Menu
Coddy logo textTech

論理演算子

CoddyのSolidityジャーニー「基礎」セクションの一部。レッスン 17/53。

AND には &&、OR には || を使って、ブール条件を組み合わせます。AND では両側が true である必要があります。OR では少なくとも一方が true である必要があります。ブール値の前に ! を置くと、その値を反転できます。括弧を使うと、比較をグループ化して読みやすくできます。

この抜粋の文は、提供された main 関数の内部で実行されます。

bool hasPass = true;
bool paused = false;
console.log(hasPass && !paused);

パスが存在し、一時停止フラグが false なので、paused を否定した後は両方の要件が満たされます。AND と OR は短絡評価を行います。右辺は、結果を変えられる場合にのみ評価されます。

AND では両方の条件が必要です。OR では少なくとも 1 つの条件が必要です。

challenge icon

チャレンジ

簡単

訪問者は、ticket が true で、closed が false の場合にのみ入場できます。入場が許可されるかどうかを出力してください。

テストでは、次の順序で main に引数を渡します:bool ticketbool closed。各テストは新しいコントラクト状態で開始されます。

要求された出力には console.log を使用してください。要求された値のみを1行に1つずつ出力し、タスクで指定されていない限り、余分なラベルは付けないでください。

自分で試してみよう

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
    function main(bool ticket, bool closed) external view {
        // ここに解答を書いてください。
    }
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン

自分で練習してみよう: Solidityプレイグラウンド