Fork me on GitHub
#clojure-russia
<
2017-11-09
>
anjensan10:11:36

@igrishaev а чем :default не подходит ?

anjensan10:11:39

хм... что-то память подвела, думал можно :default внутрь вектора диспатчинга... но можно сделать вот так https://clojuredocs.org/clojure.core/defmulti#example-57558046e4b0bafd3e2a0474 (походу примерно так и делал)

igrishaev10:11:26

я свой способ придумал, думаю в блог написать по результатам.

igrishaev10:11:05

просто нужно версию дерайвить от ::any

anjensan10:11:30

хотя имхо проще сделать над мультиметодом обертку в стиле (def call-mm [{:keys [os version] :as m}] ((or (get-method your-mm [os version]) (get-method your-mm [os :default])) m))

anjensan10:11:54

ну тоже вариант. если нету "неизвестных версий" и не нужно уметь поддерживать всякий мусор - тогда конечно гуд

anjensan10:11:59

аа... план - делать (derive ... :version/any) перед каждым вызовом мультиметода?

anjensan10:11:32

в чем тогда профит... если все равно напрямую мультиметод вызывать нельзя, ибо можно забыть сделать этот derive и получить эксепшн

ts150311:11:40

Всем привет! Если кто сталкивался с такой ошибкой - Error: Cannot find module '@cljs-oss/module-deps', подскажите как вылечить пожалуйста

ts150311:11:12

Проект - свежая сборка из lein new figwheel

ts150311:11:33

единственное что добавил это js библиотеку через :foreign-libs

ts150311:11:51

при чём она загрузилась и работает

roman01la12:11:56

:install-deps true

roman01la12:11:20

в :compiler config

ts150312:11:51

Спасибо @roman01la но не помогло) я правильно понимаю что :install-deps устанавливает зависимости из npm? но я не использую ничего из npm

roman01la12:11:03

значит ставь руками этот модуль, это NPM модуль 🙂

roman01la12:11:08

@cljs-oss/module-deps

ts150312:11:33

установил, ошибка пропала) но это как то странно

sly13:11:46

Hey, guys Кто-нибудь сталкивался FileNotFoundException Could not locate clj_http__init.class or clj_http.clj on classpath. Please check that namespaces with dashes use underscores in the Clojure file name. clojure.lang.RT.load (RT.java:456)

sly13:11:07

так на все внешние зависимости реагирует

kirill.salykin13:11:49

похоже что нет в classpath

kirill.salykin13:11:01

перепроверьте есть ли в dependencies?

sly13:11:43

[clj-http "3.7.0"]
   [commons-codec "1.10" :exclusions [[org.clojure/clojure]]]
   [commons-io "2.5" :exclusions [[org.clojure/clojure]]]
   [org.apache.httpcomponents/httpasyncclient "4.1.3" :exclusions [[org.clojure/clojure]]]
     [org.apache.httpcomponents/httpcore-nio "4.4.6"]
   [org.apache.httpcomponents/httpclient "4.5.3" :exclusions [[org.clojure/clojure]]]
     [commons-logging "1.2"]
   [org.apache.httpcomponents/httpcore "4.4.6" :exclusions [[org.clojure/clojure]]]
   [org.apache.httpcomponents/httpmime "4.5.3" :exclusions [[org.clojure/clojure]]]
   [potemkin "0.4.3" :exclusions [[org.clojure/clojure]]]
     [clj-tuple "0.2.2"]
     [riddley "0.1.12"]
   [slingshot "0.12.2" :exclusions [[org.clojure/clojure]]]
 [clojure-complete "0.2.4" :exclusions [[org.clojure/clojure]]]
 [org.clojure/clojure "1.8.0"]
 [org.clojure/tools.nrepl "0.2.12" :exclusions [[org.clojure/clojure]]]

sly13:11:43

lein classpath, показывает что либа есть

kirill.salykin13:11:00

может clean & restart?

sly13:11:41

nope 😞 система свежая, есть подозрение что как-то мешает 9я ява, хотя я уже по всякому пробовал и 8й в т.ч.

kirill.salykin14:11:36

загадка 😞