open:filter

filter

krjy9da.jpg

(def numbers (range 1 11))
(filter (fn [x] (= 0 (rem x 3))) numbers)
; (3 6 9)

(filter #(zero? (rem % 3)) numbers)
; (3 6 9)

(defn my-filter [f coll]
  (loop [result []
         [item & remain] coll]
    (if (seq remain)
      (recur (if (f item)
               (conj result item)
               result)
             remain)
      result)))
 
(my-filter odd? [1 2 3 4 5])
;;=> [1 3]


  • open/filter.txt
  • 마지막으로 수정됨: 2022/05/25 05:48
  • 저자 127.0.0.1