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

Clojure: Case

Вместо switch в Clojure ипользуется case. В общем случае case по своим возможностям шире, чем switch в большинстве языков программирования. Его использование в качестве switch, это наиболее простой способ познакомиться с ним:

(let [v 0]
  (case v
    0 "zero"
    1 "one"
    2 "two"))
; "zero"

Каждая ветка в case описывается значением и тем, что вернется из выражения, если же ни один из случаев не подошел, то записывается только возвращаемое выражение. Например:

(case 6
  0 "zero"
  1 "one"
  2 "two"
  "many")
; "many"

Задание

Реализуйте функцию humanize-permission, которая принимает на вход символьное обозначение прав доступа в Unix системах, и возвращает текстовое описание.

(humanize-permission "x") ; execute
(humanize-permission "r") ; read
(humanize-permission "w") ; write

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