Arrays and collections / Arrays

(def numbers [2 3 5 7 11 13 17])

;; a set is a function: it returns the element it found, or nil
(def contain5 (some? (some #{5} numbers)))
;; contain5 is true
(println contain5)

(def index5 (first (keep-indexed #(when (= %2 5) %1) numbers)))
;; index5 is 2
(println index5)

(def contain10 (some? (some #{10} numbers)))
;; contain10 is false
(println contain10)

(println (first (filter #(> % 7) numbers)))          ; 11 — first over 7
(println (last (filter #(> % 5) numbers)))           ; 17 — last over 5
(println (count (filter #{1} [1 9 8 3 1 6 71])))     ; 2 — how many ones