TL;DR

  • filter は、渡された述語を満たす要素だけを持つシーケンスを返す。
  • 無名関数や自作した関数も渡せる。

内容

filter は、渡された述語を満たす要素だけを持つシーケンスを返す。

(filter odd? (range 1 11))  ; (1 3 5 7 9)
(filter even? (range 1 11)) ; (2 4 6 8 10)

map と同じく、無名関数も渡せる。

(filter (fn [x] (> x 5)) (range 1 11))  ; (6 7 8 9 10)
(filter #(> % 5) (range 1 11))          ; (6 7 8 9 10)

自作した関数も渡せる。

(defn greater-than-five? [x]
  (> x 5))
(filter greater-than-five? (range 1 11)) ; (6 7 8 9 10)

キーワード