Fork me on GitHub
#clojure-norway
<
2023-05-02
>
magnars07:05:43

Denne morgenen tilbringes under dyna đŸ€§

cjohansen07:05:58

Jeg sitter foran pulten min og hoster og harker

augustl07:05:14

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!

restenb09:05:53

morn. lÞp 6 km med bare 3 stopp i gÄr. sommerkroppen yeah!

đŸ’Ș 6
teodorlu12:05:11

God morgen og bedring til alle sammen 🙂

augustl12:05:22

TIL: case tar en liste. Eks:

(case event-thingie
  (:this :that :the-other) (do-thing)
  :something (do-something))

đŸ€Ż 2
til 4
cjohansen12:05:36

Wow. Jeg utlyser umiddelbar skuddpremie pĂ„ bruk av det der 😂

cjohansen12:05:12

Relatert TIL: Det er umulig Ä skrive en case som matcher pÄ en liste med verdier. Muligens pÄ grunn av den featuren der?

cjohansen12:05:40

Nei, tar det tilbake, du kan matche mot en vektor

cjohansen12:05:44

Men altsÄ:

cjohansen12:05:06

(case '(:a :b :c)
  (:a :b :c) "OK"
  [:a :b :c] "Wat"
  :d "Nei"
  "Hehe")

;;=> "Wat"
(â•ŻÂ°â–ĄÂ°ïŒ‰â•Żïž” ┻━┻

đŸ’„ 2
teodorlu13:05:32

M-x flip-table?

(defun flip-table ()
  (interactive)
  (insert "(â•ŻÂ°â–ĄÂ°ïŒ‰â•Żïž” ┻━┻"))

cjohansen13:05:47

😂 ❀

cjohansen13:05:07

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 😄

😁 2
mariuene08:05:58

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"

👍 1
msolli12:05:15

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) ...)

msolli12:05:57

Men enig at det er
 rart.

cjohansen12:05:44

Jeg ville foretrukket en noe mer eksplisitt (#{:a :c :e} thing), enten i en cond, eller en or/`when`

msolli12:05:29

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).

slipset12:05:47

Du mÄ ikke

slipset12:05:06

Du kan fint ha en catch all i bunn.

msolli12:05:22

Ja, det er en opt-out av Ă„ behandle alle tilfellene. Da gjĂžr du det eksplisitt. Var ikke helt presis der.

cjohansen12:05:10

Jeg syns ikke det er sÄ mye til hjelp med IllegalArgumentException, all den tid den oppstÄr runtime

cjohansen12:05:28

Den eneste forsikringen det gir meg er at jeg har kode som kaster exceptions i prod

msolli12:05:21

Eller i tester. Men selv exceptions i prod kan vĂŠre Ă„ foretrekke framfor stille kode som er feil.

cjohansen13:05:45

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 🙂

👏 10
💯 4
slipset13:05:35

@msolli me mumler noe om at det er kjipt nÄr nil skifter type (og er da litt enig i at en IllegalArgumentException er Ä foretrekke.