This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2016-01-29
Channels
- # aatree (1)
- # admin-announcements (7)
- # announcements (3)
- # beginners (125)
- # boot (164)
- # braid-chat (8)
- # cider (26)
- # cljsrn (37)
- # clojars (3)
- # clojure (162)
- # clojure-argentina (1)
- # clojure-art (2)
- # clojure-berlin (5)
- # clojure-czech (3)
- # clojure-ireland (1)
- # clojure-miami (1)
- # clojure-norway (9)
- # clojure-russia (47)
- # clojurebridge (1)
- # clojurescript (151)
- # community-development (1)
- # conf-proposals (80)
- # core-async (15)
- # core-matrix (1)
- # cursive (66)
- # datomic (26)
- # emacs (17)
- # events (10)
- # funcool (59)
- # hoplon (43)
- # incanter (2)
- # jobs (10)
- # ldnclj (8)
- # lein-figwheel (18)
- # luminus (1)
- # off-topic (19)
- # om (144)
- # onyx (167)
- # overtone (9)
- # parinfer (12)
- # pedestal (1)
- # proton (158)
- # re-frame (139)
- # reagent (48)
- # test-check (19)
- # testing (43)
@misha: ну у меня сначала вообще не заводился фигвил, вот это нашел http://stackoverflow.com/questions/34325079/cursive-editor-gives-classpath-exception-when-trying-to-run-clojure-project-that/34789964#34789964, помог перезапуск идеи, но подключение новых библиотек в проект также странно работает, такое ощущение он не подгружает их
эм, я может не понимаю чо
user=> (defonce a "A")
#'user/a
user=> a
“A”
или это cljs?
user=> (macroexpand `(defonce a "A"))
(let* [v__5361__auto__ (def user/a)] (clojure.core/when-not (.hasRoot v__5361__auto__) (def user/a "A")))
должно все работать, в иде наверно чота не так
как кстати лучше с интами работать которые пришли стрингами из компожи, я вот так делаю, но уже не раз обжигался искал багу чтоже так оказывается забыл в инт перевести
вот кстати да - есть универсальный способ строку к инту привести f(“22)->22
, для Clojure и ClojureScript?
кроме как стремный read
Я использую read с защитным rexexp - ничего другого не нашел. Особой стремности вроде в этом нет - можно в исходниках read посмотреть, как он это делает, или в java провалиться
@andre: есть коерс, вот у меня например
(GET "/channel/:id/subscribe" [id :<< as-int :as request] (channel-route/subscribe id request))
https://github.com/weavejester/compojure/wiki/Destructuring-Syntax@nicola: Ну вариант да, но чота странно что нету в стандартной либе ничо
@andfadeev: спасибо, интересно , погляжу
эм, в смысле 3? Ты имеешь ввиду clojure.core, cljs.core и cljclr.core?
кстати про Clojure 2015 Survey Results - 10% чтоль Clojure-CLR юзает, прикольно
@andre: после "подключения" новых либ делаешь lein deps
? там еще есть File -> Invalidate Caches and Restart
, но это когда совсем мистика начинает твориться
@misha: не делаю, для jvm то автоматически происходит, вот и тут ожидал такого же, я использую плагин для идеи, Invalidate Caches это наверное в Cursive IDE?
ну короче lein deps - это если у тебя лайнинген-проект. это как в мавене synchronize вроде
но иногда курсив не справляется и после подгрузки зависимостей: - если нет сорс кода - с синтаксисом некоторых макросов (многие аргументы подсвечивает)
конструкторы джавовские некоторые подсвечивает, если динамически не может онозначно понять, какой из них вызывается - это к твоему скриншоту про Integer.
@rm: Точно, бы не прав - 2 процента всего. Ну все равно не ноль - т.е. оно живое, ну или умирает в агонии мда
@andre: второй подсвечивается, потому что значение вычисляется динамически, а третий - нет, потому что стоит type hint, поясняющий, что ты ждешь инт из словаря
соответственно:
user=> (Integer. (:a {:a 1}))
1
user=> (Integer. (:a {:a "a"}))
java.lang.NumberFormatException: For input string: "a"
...
user=> (Integer. ^int (:a {:a "a"}))
java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Number
...