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