This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2017-01-11
Channels
- # admin-announcements (3)
- # beginners (51)
- # boot (14)
- # cider (55)
- # cljsrn (5)
- # clojure (105)
- # clojure-austin (2)
- # clojure-brasil (3)
- # clojure-dusseldorf (2)
- # clojure-greece (5)
- # clojure-italy (1)
- # clojure-mexico (1)
- # clojure-russia (74)
- # clojure-spec (66)
- # clojure-uk (22)
- # clojurescript (124)
- # cursive (10)
- # datomic (79)
- # events (2)
- # immutant (3)
- # jobs (4)
- # klipse (38)
- # leiningen (2)
- # luminus (1)
- # off-topic (25)
- # om (48)
- # om-next (36)
- # on (1)
- # onyx (19)
- # overtone (3)
- # pedestal (2)
- # proton (3)
- # re-frame (178)
- # reagent (49)
- # ring-swagger (1)
- # spacemacs (10)
- # specter (29)
- # testing (5)
- # untangled (6)
- # yada (65)
Любой джава-код после чтения clojure: http://classicprogrammerpaintings.com/post/148664055554/java-enterprise-implementation-of-observer
Прошу прощения за офтоп. У кого-нибудь есть желание выступить в феврале на митапе? https://www.meetup.com/Moscow-Clojure-Script-Meetup/events/236838714/
Хм, а в 1.9 ничего не завезли для убного дестрактинга namespace qualified keys?
(let [{:keys [name company]} {:customer/name 1 :customer/second-name 2 :customer/company 3}]
name) ; => nil ибо ключи то все с префиксами
(let [{:keys [customer/name customer/company]} {:customer/name 1 :customer/second-name 2 :customer/company 3}]
name) ;; => 1 робит но везде добавлять префикс ломает
очень же често хочется развернуть мапу в который везде одинаковые префиксыпожалуйста не говорите что мне этого не надо 😄
ха, спасибо всем. В кложуре канале подсказали что префиксы перед мапой работают в обе стороны
(let [#:customer{:keys [name company]} #:customer{:name 1 :second-name 2 :company 3}]
name)
развернется в тоже что и вы кинули@dottedmag откуда инфа про то что кийворды не убираются?
@artemyarulin не уверен, что выносить за биндинг мапу есть смысл, там же может быть еще всяких кивордов, типа
{:customer/keys [...] :as customer}
точно да, данкише, забыл про это
@dottedmag на сколько мне известно и на сколько я сейчас нагуглил кийворды и символы коллектятся в jvm (как и интернутые строки). прошу предоставить опровержение!
а еще тогда вдогонку вопрос
(let [{:keys [a b c]} {:a 1 :b 2 :c {:d 3}}]
(let [{:keys [d]} c]
[a b d]))
могу я как-нить d достать сразу в первом let? Вложить один keys в другой не выходит чотаа почему не просто (let [{{d :d} :c} {:c {:d 1}}] (println d))
? зачем эти keys
ну это пример маленький просто, а так с keys не надо повторять все по два раза два раза
ну тут все однобуквенное, шумит сильно, на нормальных customer/product норм читается
алиасы не всегда можно - если я хочу customer/person то алиас потребует чтоб был файл такой
да это именно то что делает этот патч тока автоматом. Да не, костыльно как-то
@prepor С "нагуглил" не поспоришь 🙂 В Keyword.java
в самом верху отображение, и я не увидел, чтобы она где-то чистилась. Может и чистится, правда.
@dottedmag какое отображение? https://github.com/clojure/clojure/blob/master/src/jvm/clojure/lang/Keyword.java вот вижу тут weakreference создается например
commit 5ee542d3de7e22d68e923c0f9c63267960cd1647
Author: Rich Hickey <[email protected]>
Date: Thu Mar 3 08:46:31 2011 -0500
switch keyword map to weak refs
> I'm not sure this is correct. I think recent Sun JVMs can GC unreferenced, interned strings.
"Keyword objects are interned by Clojure and are not garbage collected. When a Keyword is created, it's placed in a ConcurrentHashMap that maps a Symbol of the same name and namespace to the Keyword object." вот это на момент написания было правдой.
Да, если создать 10 миллионов ключей, а потом (System/gc)
, то память подскакивает, а потом обратно возвращается.
В этом даже полгода назад чего-то фиксили: https://github.com/clojure/tools.reader/blob/master/src/main/clojure/clojure/tools/reader/edn.clj
дата выглядит протухшим, хотя может у него юзкейс другой: "A Clojure library for creation of edn data."
мда, мне надо внимательнее отматывать чатик назад прежде чем отвечать на вопросы...