Я получаю эту ошибку всякий раз, когда у меня есть такой код в файле .cljc
. Я не нашел ответа, когда искал.
(defn foo
[]
#?(:cljs
(f "1")
(g "2")))
Я обнаружил, что в #?(:cljs ...)
или #?(:clj ...)
мы можем указать только одну форму.
Следовательно, для нескольких функций мы можем использовать, например, do
.
(defn foo
[]
#?(:cljs
(do (f "1")
(g "2")))
Обновлено: 9/3/21
применяется не только к функциям, но в более общем плане к формам
Например. (не работает)
(try
(something...)
(catch #(:clj Exception e (error-stuff...)
#(:cljs :default e (error-stuff...)
должно быть
(try
(something...)
#(:clj (catch Exception e (clj-error-stuff e)))
#(:cljs (catch :default e (cljs-errors-stuff e)))