論理演算子
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 つの条件が必要です。
チャレンジ
簡単訪問者は、ticket が true で、closed が false の場合にのみ入場できます。入場が許可されるかどうかを出力してください。
テストでは、次の順序で main に引数を渡します:bool ticket、bool 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 {
// ここに解答を書いてください。
}
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: Solidityプレイグラウンド