Оператор 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 выполняет свой блок).
- Если
has_ticketне равноtrue, выведиPlease purchase a ticket - Если
is_vipне равноtrue, выведиVIP access required - Если значение
items_in_cartне больше0, выведиYour cart is empty - Если значение
battery_levelне больше20, выведиLow battery warning - Если
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Преобразование типовИтоги — Калькулятор возрастаИтоги — Истина или ложьПотренируйтесь самостоятельно: Онлайн-компилятор Ruby