Menu
Coddy logo textTech

Логические операторы

Часть раздела Основы путешествия по Solidity на Coddy. Урок 17 из 53.

Объединяйте логические условия с помощью && для И и || для ИЛИ. Для И обе стороны должны быть истинными. Для ИЛИ хотя бы одна сторона должна быть истинной. Поставьте ! перед логическим значением, чтобы инвертировать его. Скобки упрощают чтение сгруппированных сравнений.

Инструкции в этом фрагменте выполняются внутри предоставленной функции main.

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

Пропуск присутствует, а флаг паузы имеет значение false, поэтому после отрицания paused выполнены оба требования. Операторы AND и OR используют сокращённое вычисление: правая часть вычисляется только тогда, когда она может изменить результат.

AND требует выполнения обоих условий; OR требует выполнения хотя бы одного условия.

challenge icon

Задание

Легко

Посетитель может войти только тогда, когда ticket имеет значение true, а closed — значение false. Выведите, разрешён ли вход.

Тесты передают аргументы в main в следующем порядке: bool ticket, bool closed. Каждый тест начинается с нового состояния контракта.

Используйте console.log для вывода требуемого результата. Выводите только запрошенные значения, по одному в строке, без дополнительных меток, если только задание явно их не требует.

Попробуйте сами

// 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