Size: a a a

Clojure — русскоговорящее сообщество

2021 April 28

A

Arjaz in Clojure — русскоговорящее сообщество
Он же его тредит, это не совсем то
источник

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
Ну даже если бы и был, он ничем не лучше чем просто let + cond
источник

A

Arjaz in Clojure — русскоговорящее сообщество
Он на один отступ меньше
источник

ND

Nikita Domnickij in Clojure — русскоговорящее сообщество
макрос напиши
источник

A

Arjaz in Clojure — русскоговорящее сообщество
Мне лень
источник

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
Ага, и символов меньше, и скобочек)
источник

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
Зачем?
источник

A

Arjaz in Clojure — русскоговорящее сообщество
when-let же есть
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
я бы как-то так писал
(defn- error-phrase?
 [^Throwable e, phrase]
 (some-> e .getMessage (.contains phrase)))

(cond (error-phrase? e "Phone") :DUPLICATED_PHONE
     (error-phrase? e "Email") :DUPLICATED_EMAIL
     ...)
источник

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
его врядли добавляли что бы отступа избежать )
источник

A

Andrey in Clojure — русскоговорящее сообщество
так в каждой ветке будет происходить .getMessage одного и того же ексепшена, а используя let именно этого и хотели избежать, судя по всему
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
в данном случае это очень дешёвая операция, чтобы на этом нужно было экономить
источник

KR

Kostyantin Randomnam... in Clojure — русскоговорящее сообщество
какая-то несерьезная проблемаа
источник

DL

Dmytro Lispyvnyi '(🌲... in Clojure — русскоговорящее сообщество
condp же
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
логично
источник

DL

Dmytro Lispyvnyi '(🌲... in Clojure — русскоговорящее сообщество
а ваще я бы просто сделал хэшмапу и some по ней
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
показывай
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
(defn- error-phrase?
 [phrase, ^Throwable e]
 (some-> e .getMessage (.contains phrase)))

(condp error-phrase? e
 "Phone" :DUPLICATED_PHONE
 "Email" :DUPLICATED_EMAIL)
источник

DL

Dmytro Lispyvnyi '(🌲... in Clojure — русскоговорящее сообщество
(def errors
 {"Phone" :DUPLICATED_PHONE
  "Email" :DUPLICATED_EMAIL})


(some (fn [[text error]]
       (when (error-phrase? e text)
         error))
     errors)

но я не проснулся, так что могу врать
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
а, ну в таком смысле
изначальный-то код не содержал error-phrase
источник