サーチ…


前書き

矢印マクロとも呼ばれ、ネストされた関数呼び出しを関数呼び出しの線形流れに変換します。

スレッド最後( - >>)

このマクロは、指定された行の出力を次の行関数呼び出しの最後の引数として与えます。たとえば

(prn (str (+ 2 3)))

同じ

(->> 2
    (+ 3)
    (str)
    (prn))

スレッドファースト( - >)

このマクロは、次の行関数呼び出しの最初の引数として与えられた行の出力を与えます。たとえば

 (rename-keys (assoc {:a 1} :b 1) {:b :new-b}))

何も理解できない、そう? - >

(-> {:a 1}
    (assoc :b 1)                ;;(assoc map key val)
    (rename-keys {:b :new-b}))  ;;(rename-keys map key-newkey-map)

スレッドとして(as->)

これは、最初のスレッドまたは最後のスレッドのより柔軟な代替方法です。関数のパラメータのリストのどこにでも挿入できます。

(as-> [1 2] x
      (map #(+ 1 %) x)
      (if (> (count x) 2) "Large" "Small"))


Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow