This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2017-04-28
Channels
- # aws-lambda (2)
- # beginners (49)
- # boot (49)
- # cider (7)
- # clara (1)
- # cljsrn (4)
- # clojure (199)
- # clojure-android (49)
- # clojure-dev (1)
- # clojure-greece (4)
- # clojure-italy (3)
- # clojure-nl (4)
- # clojure-norway (5)
- # clojure-russia (78)
- # clojure-spec (22)
- # clojure-uk (18)
- # clojurebridge (2)
- # clojurescript (252)
- # core-typed (2)
- # cursive (11)
- # data-science (1)
- # datascript (2)
- # datomic (38)
- # devcards (1)
- # flambo (3)
- # hoplon (10)
- # immutant (2)
- # jobs (3)
- # luminus (1)
- # lumo (2)
- # off-topic (8)
- # om (3)
- # onyx (29)
- # parinfer (1)
- # pedestal (4)
- # portkey (13)
- # re-frame (13)
- # reagent (6)
- # ring (3)
- # ring-swagger (15)
- # schema (2)
- # spacemacs (4)
- # test-check (4)
- # untangled (46)
- # yada (2)
Вот тут на кор.асинк набрасывают http://realworldclojure.com/on-the-judicious-use-of-core.async/
напоминалочка https://www.youtube.com/watch?v=FihU5JxmnBg
Debugging with the Scientific Method - Stuart Halloway
For instance:
require "continuation"
arr = [ "Freddie", "Herbie", "Ron", "Max", "Ringo" ]
callcc{|cc| $cc = cc}
puts(message = arr.shift)
$cc.call unless message =~ /Max/
а что такое callcc{|cc| $cc = cc}
? я совсем не шутил, когда сказал "ниче не понимаю тут"
читай как "давайте представим это место в коде как метку и присвоим ее глобальной переменной $cc"
господа, а можно как-то чётче смерджить 2 хешмапы с разными уровнями вложенности?
(merge-with
(partial merge-with merge)
{:a {:b 1}
:c 2}
{:a {:d 3}})
=> {:a {:b 1, :d 3}, :c 2}
как-то оно слишком хрупко выглядит, и работает только с 2 уровнями вложенности, перезаписывая значения в на втором. как вообще взрослые дядьки такое решают?
(defn deep-merge
[& vals]
(if (every? map? vals)
(apply merge-with deep-merge vals)
(last vals)))