Fork me on GitHub
#clojure-norway
<
2022-08-08
>
slipset05:08:24

Og god morgen, ja.

☀️ 1
magnars06:08:32

God morgen!

magnars06:08:38

Jeg tenker at reduce vs loop er omtrent som map vs for. Begge har sine bruk. Sistnevnte er best når man vil ha en body.

augustl08:08:22

TIL/gocha om re-frame: (reagent/render (let [x @(subscribe [:foo])] [my-app x])) = rendrer bare én gang og oppdaterer seg ikke. (defn reagent-main-9000 [] (let [x @(subscribe [:foo])] [my-app x])) (reagent/render [reagent-main-9000]) = funker. Aka du må wrappe subscribes i et komponent, det funker ikke om du har dem på “toppnivå”

teodorlu09:08:21

Morn - håper alle har hatt en god ferie!

teodorlu09:08:04

loop-spørsmål. Sånn loop brukes her (https://github.com/magnars/zombieclj-s02/blob/155af62ad56761e69515fceeddd7d73175fdfb73/src/zombies/game_loop.clj#L22-L29):

(loop [game (update-game initial-game initial-events)]
  (when-let [command (:message (<! ws-channel))]
    (let [events (match command
                        [:reroll] (game/reroll game)
                        [:toggle-clamp id] (game/toggle-clamp game id)
                        [:use-dice opts] (game/use-dice game opts))]
      (put! ws-channel (actionize events))
      (recur (update-game game events)))))
Stopper loopen hvis man får en melding på ws-channel som ikke har en :message? Altså, den stopper hvis recur ikke kalles? (jeg har ~aldri brukt loop i koden min, så det er ikke helt klart for meg når loop er en god match)

emil0r09:08:39

Den borde göra det, då du får en nil i when-let om inte message finns

👍 1
magnars09:08:22

Det er bare recur som hopper tilbake til toppen av loopen, ja. Spennende eksempel! 😄

😄 1
👍 1