This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2023-05-02
Channels
- # announcements (1)
- # babashka (4)
- # beginners (39)
- # calva (36)
- # cherry (11)
- # cider (23)
- # clj-on-windows (3)
- # clojure (105)
- # clojure-brasil (1)
- # clojure-chicago (3)
- # clojure-conj (8)
- # clojure-denver (4)
- # clojure-europe (18)
- # clojure-germany (5)
- # clojure-hungary (13)
- # clojure-nl (1)
- # clojure-norway (31)
- # clojure-sweden (9)
- # clojure-uk (2)
- # clojurescript (22)
- # core-async (4)
- # cursive (8)
- # data-science (25)
- # datomic (14)
- # devops (1)
- # emacs (9)
- # events (5)
- # holy-lambda (32)
- # hyperfiddle (26)
- # introduce-yourself (2)
- # kaocha (1)
- # leiningen (11)
- # lsp (17)
- # malli (8)
- # off-topic (84)
- # pedestal (4)
- # polylith (2)
- # re-frame (17)
- # reitit (1)
- # releases (1)
- # remote-jobs (1)
- # shadow-cljs (8)
- # sql (4)
- # tools-deps (8)
- # transit (5)
- # vim (1)
- # vscode (1)
- # xtdb (45)
god morgen! Jeg ble syk pÄ fredag i 15-tiden, og fÞler meg frisk igjen nÄ pÄ morgenen. Fint nÄr basseluskene er i sync med faktureringen!
TIL: case
tar en liste. Eks:
(case event-thingie
(:this :that :the-other) (do-thing)
:something (do-something))

Relatert TIL: Det er umulig Ä skrive en case som matcher pÄ en liste med verdier. Muligens pÄ grunn av den featuren der?
(case '(:a :b :c)
(:a :b :c) "OK"
[:a :b :c] "Wat"
:d "Nei"
"Hehe")
;;=> "Wat"
(âŻÂ°âĄÂ°ïŒâŻïž” â»ââ»M-x flip-table
?
(defun flip-table ()
(interactive)
(insert "(âŻÂ°âĄÂ°ïŒâŻïž” â»ââ»"))
Bedre enn lĂžsningen jeg bruker nĂ„, som er Ă„ gĂ„ til en av mine mange Slack-instanser, finne DMs med meg selv, for sĂ„ Ă„ kopiere den đ
Det er jo en ganske nice funksjonalitet med den lista da.
(defn foo [x] (case x (:a :b) "Yes" "hmm"))
=> #'user/foo
(foo :a)
=> "Yes"
(foo :b)
=> "Yes"
Skyt meg! Bruker det stadig. Fint nÄr du har et sett med keywords som skal fÞre til én ting, og et (eller flere) andre som skal fÞre til noe annet. (case (:status foo) ...)
Jeg ville foretrukket en noe mer eksplisitt (#{:a :c :e} thing)
, enten i en cond, eller en or
/`when`
Fordelen med case
er at du mÄ behandle alle tilfellene, du fÄr IllegalArgumentException
hvis ikke. Det har hjulpet meg noen ganger. OgsÄ er det raskere (men det er ikke noe argument hvis man synes det gÄr utover lesbarheten).
Ja, det er en opt-out av Ă„ behandle alle tilfellene. Da gjĂžr du det eksplisitt. Var ikke helt presis der.
Jeg syns ikke det er sÄ mye til hjelp med IllegalArgumentException
, all den tid den oppstÄr runtime
Den eneste forsikringen det gir meg er at jeg har kode som kaster exceptions i prod
Eller i tester. Men selv exceptions i prod kan vĂŠre Ă„ foretrekke framfor stille kode som er feil.
Tilbake til denne Datomic-meetupen sĂ„ har nĂ„ @anders sagt seg villig til Ă„ presentere litt rundt det operasjonelle: drift, ytelse osv. Da har vi et feature packed program. Sjekker litt datoer med de involverte, og kommer sĂ„ med annonsering av meetup om ikke sĂ„ lenge. Sikter pĂ„ mĂ„nedsskiftet mai/juni. Detta blir stas đ