clojure
Trådande makron
Sök…
Introduktion
Även känd som pilmakron, omvandlar trådmakroer kapslade funktionssamtal till ett linjärt flöde av funktionssamtal.
Tråd senast (- >>)
Detta makro ger utgången från en given rad som det sista argumentet för nästa radfunktionssamtal. För t.ex.
(prn (str (+ 2 3)))
är samma som
(->> 2
(+ 3)
(str)
(prn))
Tråd först (->)
Detta makro ger utgången från en given rad som det första argumentet för nästa radfunktionssamtal. För t.ex.
(rename-keys (assoc {:a 1} :b 1) {:b :new-b}))
Kan inte förstå någonting, eller hur? Låt oss försöka igen med ->
(-> {:a 1}
(assoc :b 1) ;;(assoc map key val)
(rename-keys {:b :new-b})) ;;(rename-keys map key-newkey-map)
Tråd som (som->)
Detta är ett mer flexibelt alternativ till tråd först eller senast. Det kan sättas in var som helst i listan över parametrar för funktionen.
(as-> [1 2] x
(map #(+ 1 %) x)
(if (> (count x) 2) "Large" "Small"))
Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow