Racket: Cond
Для самых сложных случаев, там, где обычно применяется if-elseif_ в Racket есть еще одна форма: cond
:
(cond
[(positive? -5) "first return"]
[(zero? -5) "second return"]
[(positive? 5) "third return"]
[else "boom!"])
Эта форма напоминает case, только в левой части внутри квадратных скобок находится предикат. Если его результат истина, то выполняется правая часть и её результат возвращается из cond
.
Если необходимо, в конце добавляется else
, который ведет себя аналогично else
в других языках.
Задание
Реализуйте функцию programmer-level
, которая принимает на вход количество баллов, и возвращает уровень разработчика на основе этого числа. Если баллов от 0 до 10, то это junior, от 10 до 20 – middle, все что выше 20 – senior.
(programmer-level 10) ; middle
(programmer-level 0) ; junior
(programmer-level 40) ; senior
Пожалуйста, авторизуйтесь, это необходимо для отслеживания прогресса выполнения уроков. Если у вас ещё нет учётной записи, то сейчас самое время создать аккаунт.