Fork me on GitHub
#clojure-norway
<
2022-06-17
>
magnars05:06:39

Til glede for alle som er med på vår føljetong, er dagens episode navngitt intet mindre enn "Payoff". https://www.zombieclj.no/s02e16.html 🏆

💯 3
🎉 5
3
🧟 4
slipset07:06:57

(reduce + 0 xs) heller enn (apply + xs) ? Spiller ingen trille i dette tilfellet, men

user> (apply max nil)
Execution error (ArityException) at user/eval1148859 (form-init3247870008706577204.clj:22005).
Wrong number of args (0) passed to: clojure.core/max
user> (reduce max -1 nil)
;; => -1
Så, når funksjonen man bruker ikke har en generel identitetsverdi (slik + har), kan apply trikset være litt skummelt fordi listen man kan finne på å apply kan være tom. reduce derimot, lar deg gi med en domenespesifik identitsverdi. Dette er relatert til forrige ukes episode.

👍 2
❤️ 1
magnars11:06:54

Et litt kult triks er at man kan legge ved ekstra verdier til apply. Spesielt nyttig med min og max

(apply + 0 xs)

👍 1
❤️ 1
slipset07:06:58

Kunne sikkert sagt noe om monoider og semigrupper eller noe sånt.

teodorlu08:06:05

for + og * er identitenten laget slik at du ikke trenger å spesifisere den eksplisitt for reduce.

(+);; => 0
(*);; => 1 
🤓

😎 3
teodorlu08:06:26

litt kult når matte blir renere i Clojure enn i Haskell