Оператор Unless
Часть раздела Основы путешествия по Ruby на Coddy — урок 25 из 88.
Ruby предлагает уникальный способ выражения условий, когда вы хотите выполнить код только в том случае, если что-то не является истинным. Оператор unless, по сути, является противоположностью if.
С if код выполняется, когда условие истинно. С unless код выполняется, когда условие ложно:
logged_in = false
unless logged_in
puts "Please log in to continue"
endЭто эквивалентно записи if !logged_in, но unless часто читается более естественно. Воспринимайте это как «делай это, если только это условие не истинно».
Вы также можете использовать unless с else:
age = 20
unless age < 18
puts "Access granted"
else
puts "Access denied"
endТем не менее, когда вам нужен блок else, использование if обычно понятнее. Инструкция unless лучше всего подходит, когда у вас есть простое отрицательное условие без альтернативного пути. Выбирайте тот вариант, который делает ваш код более читаемым с первого взгляда.
Задание
ЛегкоВам предоставлены следующие переменные:
has_ticket = false
is_vip = true
items_in_cart = 0
battery_level = 15
is_charging = falseИспользуйте операторы unless для оценки каждого сценария ниже. Выводите указанное сообщение только тогда, когда условие ложно (именно в этом случае unless выполняет свой блок).
- Если не (
unless)has_ticketимеет значениеtrue, выведитеPlease purchase a ticket - Если не (
unless)is_vipимеет значениеtrue, выведитеVIP access required - Если не (
unless)items_in_cartбольше0, выведитеYour cart is empty - Если не (
unless)battery_levelбольше20, выведитеLow battery warning - Если не (
unless)is_chargingимеет значениеtrueилиbattery_levelбольше50, выведитеPlease charge your device
Каждое сообщение должно выводиться на отдельной строке. Выводите сообщения только для тех условий, которые активируют блок unless.
Попробуйте сами
# Переменные уже определены за вас
has_ticket = false
is_vip = true
items_in_cart = 0
battery_level = 15
is_charging = false
# TODO: Напишите свой код ниже
# Используйте операторы unless, чтобы проверить каждое условие и вывести соответствующее сообщениеВ этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы. Часть 2
Логические операторы. Часть 1Логические операторы. Часть 2Повторение — простая логикаЛогические операторы. Часть 3Логические операторы. Часть 47Калькулятор разделения счета
Приветственное сообщениеПолучение пользовательского ввода13Продвинутая работа с массивами
Срезы массивов через диапазоныСрезы массивов через индексыОператоры массивовМетод include?2Переменные и типы данных
Числа и переменныеСтроковый тип данныхЛогический тип данныхТип данных SymbolПроверка типов данныхПравила именованияПовторение: создание переменных5Принятие решений
Оператор IfКонструкция If - ElseПовторение — Простой калькуляторВложенные конструкции If - ElseОператор Unless8Циклы
Цикл For с диапазонамиЦикл WhileОператор BreakОператор NextПовторение: ФакториалЦикл TimesЦикл UntilВложенные циклыПовторение: Динамический ввод3Операторы. Часть 1
Арифметические операторыОператор остатка от деленияСокращенная арифметикаИтоги: простая математикаОператоры сравнения6Основы ввода-вывода
Вывод с помощью putsВывод с помощью print и pВывод с переменнымиВвод с помощью getsМетод chompПреобразование типовИтоги — Калькулятор возрастаИтоги — Истина или ложь