clojure
Macro's inrijgen
Zoeken…
Invoering
Threading-macro's, ook wel pijlmacro's genoemd, zetten geneste functieaanroepen om in een lineaire stroom van functieaanroepen.
Thread Last (- >>)
Deze macro geeft de uitvoer van een gegeven regel als het laatste argument van de volgende regelfunctieaanroep. Voor bijv
(prn (str (+ 2 3)))
is hetzelfde als
(->> 2
(+ 3)
(str)
(prn))
Eerst draad (->)
Deze macro geeft de uitvoer van een gegeven regel als het eerste argument van de volgende functieaanroep. Voor bijv
(rename-keys (assoc {:a 1} :b 1) {:b :new-b}))
Ik begrijp toch niets? Laten we het opnieuw proberen, met ->
(-> {:a 1}
(assoc :b 1) ;;(assoc map key val)
(rename-keys {:b :new-b})) ;;(rename-keys map key-newkey-map)
Discussie als (as->)
Dit is een flexibeler alternatief voor draad eerst of draad als laatste. Het kan overal in de lijst met parameters van de functie worden ingevoegd.
(as-> [1 2] x
(map #(+ 1 %) x)
(if (> (count x) 2) "Large" "Small"))
Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow