Menu
Coddy logo textTech

Оператор '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)
challenge icon

Задание

Легко

Проверьте, может ли игрок получить доступ к секретной зоне, убедившись, что у него есть либо специальный ключ, либо достаточно высокий уровень допуска. Создайте переменную с именем 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)
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Fundamentals