Racket: When и Unless
Обычного if
без else
в Racket нет, но есть две специальные формы: when
и unless
, предназначенные для этой цели.
When
(when test-expr body ...+)
Если результат test-expr
истина, то вычисляется тело.
(when (positive? -5)
(display "hi"))
(when (positive? 5)
(display "hi")
(display " there"))
Unless
Тоже самое что и (when (not test-expr) body ...+).
unless
работает наоборот. Тело вычисляется в том случае, если test-expr
– ложь. unless
хоть и бывает удобен, но резко становится нечитаемым, когда в test-expr
появляются составные условия.
(unless (positive? 5)
(display "hi"))
(unless (positive? -5)
(display "hi")
(display " there"))
Задание
Реализуйте функцию say-boom
, которая возвращает строку Boom!, если её вызвали с параметром "go"
.
(say-boom "hey")
(say-boom "go") ; "Boom!"
Нашли ошибку? Есть что добавить? Пулреквесты приветствуются https://github.com/hexlet-basics
Если вы столкнулись с трудностями и не знаете, что делать, задайте вопрос в нашем большом и дружном сообществе
Упражнение доступно только авторизованным пользователям.
Пожалуйста, авторизуйтесь, это необходимо для отслеживания прогресса выполнения уроков. Если у вас ещё нет учётной записи, то сейчас самое время создать аккаунт.