Оператор 'or'
Часть раздела Fundamentals путешествия по Lua на Coddy — урок 21 из 90.
Логический оператор <strong>or</strong> работает иначе. Он возвращает true, если хотя бы одно из условий является true, что делает его идеальным для ситуаций, когда существует несколько способов удовлетворить требование.
Вот как работает оператор or:
hasKey = true
hasPass = false
canOpenDoor = hasKey or hasPass
-- canOpenDoor равно true, так как хотя бы одно условие истинноОператор or следует этому простому правилу: если первое условие равно true, все выражение становится true без проверки второго условия. Только когда оба условия равны false, результат становится false.
playerGold = 50
playerLevel = 15
requiredGold = 100
requiredLevel = 20
canEnterZone = playerGold >= requiredGold or playerLevel >= requiredLevel
-- canEnterZone имеет значение false, так как оба условия ложны (50 < 100 И 15 < 20)Задание
ЛегкоПроверьте, может ли игрок получить доступ к секретной зоне, убедившись, что у него есть либо специальный ключ, либо достаточно высокий уровень допуска. Создайте переменную с именем hasSpecialKey и присвойте ей значение false. Создайте переменную с именем clearanceLevel и присвойте ей значение 7. Создайте еще одну переменную с именем requiredClearance и присвойте ей значение 5. Используйте оператор or, чтобы проверить, есть ли у игрока специальный ключ или соответствует ли он требованиям допуска, сохранив результат в переменной с именем canAccessArea. Выведите логический результат.
Шпаргалка
Логический оператор or возвращает true, если хотя бы одно из условий истинно (true):
hasKey = true
hasPass = false
canOpenDoor = hasKey or hasPass
-- canOpenDoor равно true, так как хотя бы одно условие истинноОператор or возвращает true, если первое условие истинно (true), не проверяя второе условие. Результат становится ложным (false) только тогда, когда оба условия ложны (false):
playerGold = 50
playerLevel = 15
requiredGold = 100
requiredLevel = 20
canEnterZone = playerGold >= requiredGold or playerLevel >= requiredLevel
-- canEnterZone равно false, так как оба условия ложныПопробуйте сами
-- Создайте переменные, как указано в задании
-- TODO: Напишите свой код здесь
-- Вывести результат
print(canAccessArea)В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Fundamentals
4Операторы 2: Сравнение и логика
Операторы равенстваОператоры сравненияОператор 'and'Оператор 'or'Оператор 'not'Сокращенные вычисленияЗначения Truthy и FalsyИтоги: Простая логика7Основы условной логики
Оператор if-thenОператор if-then-elseОператор elseifИтоги — Сундук с сокровищами10Таблицы, часть 1: Списки
Что такое таблица?Создание таблицыДоступ к элементам по индексуИзменение элементов по индексуОператор длины '#'table.insert()table.remove()Итоги: управление участниками группы13Проект: Простой магазин зелий
Настройка проектаДобавление зелья2Переменные и типы данных
Что такое переменная?ЧислаСтрокиБулевы значенияЗначение 'nil'Функция type()Правила именованияИтоги — Профиль персонажа5Базовый вывод
Вывод литераловВывод переменныхВывод нескольких значенийОбъединение строк и переменныхФункция tostring()ВводПриведение типовПовторение — Отчет о состоянииПовторение — До 1208Основы работы со строками
string.len()string.upper и string.lowerstring.sub()string.rep()string.find()Повторение — Форматирование имени пользователя3Операторы 1: Арифметика и конкатенация
Арифметические операторыОператор остатка от деленияОператор возведения в степеньКонкатенация строкПриоритет операторовПовторение: Простые вычисления6Проект: Вывод характеристик персонажа
Приветственное сообщениеОбъявление характеристик персонажа9Основы функций
Объявление функцииВызов функцииФункции с параметрамиФункции с несколькими параметрамиОператор 'return'Повторение — Калькулятор площади