Menu
CoddyTech

Оператор 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 особенно удобен, когда у тебя есть простое отрицательное условие без альтернативного пути. Выбирай тот вариант, с которым код легче понять с первого взгляда.

challenge icon

Задание

Легко

Вам предоставлены следующие переменные:

has_ticket = false
is_vip = true
items_in_cart = 0
battery_level = 15
is_charging = false

Используй инструкции unless, чтобы проверить каждый сценарий ниже. Выведи указанное сообщение, только если условие ложно (в этом случае unless выполняет свой блок).

  1. Если has_ticket не равно true, выведи Please purchase a ticket
  2. Если is_vip не равно true, выведи VIP access required
  3. Если значение items_in_cart не больше 0, выведи Your cart is empty
  4. Если значение battery_level не больше 20, выведи Low battery warning
  5. Если 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, чтобы проверить каждое условие и вывести соответствующее сообщение
quiz iconПроверьте себя

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

Все уроки раздела Основы

Потренируйтесь самостоятельно: Онлайн-компилятор Ruby