数组和集合 / 数组

(require '[clojure.string :as str])

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

;; map-indexed hands the index to the function
(def s1 (str/join "; " (map-indexed (fn [i n] (str i ":" n)) numbers)))
;; s1 is "0:2; 1:3; 2:5; 3:7; 4:11; 5:13; 6:17"
(println s1)

;; the pair (index, element) can be destructured right in doseq
(doseq [[i n] (map-indexed vector numbers)]
  (print (str "[" i "]=" n " ")))
(println)

;; nth reads an element by its index, like numbers[2]
(println (nth numbers 2))       ; 5