В документе case
говорится
В отличие от cond и condp, случай отправляет постоянное время... Весь способ постоянной выражения допустимы в случае.
Мне хотелось бы получить от case
постоянную рассылку, чтобы она соответствовала перечислениям Java. Оператор Java switch
хорошо работает с перечислениями, но делает следующее в Clojure:
(defn foo [x]
(case x
java.util.concurrent.TimeUnit/MILLISECONDS "yes!"))
(foo java.util.concurrent.TimeUnit/MILLISECONDS)
Результаты в: IllegalArgumentException No matching clause: MILLISECONDS
Не перечислены ли перечисления в case
? Я делаю что-то неправильно? Должен ли я прибегать к cond
или есть лучшее решение?