Бесплатный курс по clojure. Зарегистрируйтесь для отслеживания прогресса →

Clojure: Cond

Для самых сложных случаев, там, где обычно применяется if-else_if в Clojure есть еще одна форма: cond:

(cond
 (pos? -5) "first return"
 (zero? -5) "second return"
 (pos? 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

Нашли ошибку? Есть что добавить? Пулреквесты приветствуются https://github.com/hexlet-basics
Если вы столкнулись с трудностями и не знаете, что делать, задайте вопрос в нашем большом и дружном сообществе