Sha256: 49b5de3f4ae0e1a3ff8bbe624b0e63970af48ef06265d9f4070c171f530505ed

Contents?: true

Size: 459 Bytes

Versions: 191

Compression:

Stored size: 459 Bytes

Contents

(ns flatten-array
  (:refer-clojure :exclude [flatten]))

(defn flatten
  "Flattens the given list and removes any nil values"
  [coll]
  (loop
   [results nil
    [elem & remaining] coll]
    (if (or elem remaining)
      (if (coll? elem)
        (if (empty? elem)
          (recur results remaining)
          (recur results (conj remaining (rest elem) (first elem))))
        (recur (conj results elem) remaining))
      (reverse (remove nil? results)))))

Version data entries

191 entries across 191 versions & 1 rubygems

Version Path
trackler-2.1.0.39 tracks/clojure/exercises/flatten-array/src/example.clj
trackler-2.1.0.38 tracks/clojure/exercises/flatten-array/src/example.clj
trackler-2.1.0.37 tracks/clojure/exercises/flatten-array/src/example.clj
trackler-2.1.0.36 tracks/clojure/exercises/flatten-array/src/example.clj
trackler-2.1.0.34 tracks/clojure/exercises/flatten-array/src/example.clj
trackler-2.1.0.33 tracks/clojure/exercises/flatten-array/src/example.clj
trackler-2.1.0.32 tracks/clojure/exercises/flatten-array/src/example.clj
trackler-2.1.0.31 tracks/clojure/exercises/flatten-array/src/example.clj
trackler-2.1.0.30 tracks/clojure/exercises/flatten-array/src/example.clj
trackler-2.1.0.29 tracks/clojure/exercises/flatten-array/src/example.clj
trackler-2.1.0.28 tracks/clojure/exercises/flatten-array/src/example.clj
trackler-2.1.0.27 tracks/clojure/exercises/flatten-array/src/example.clj
trackler-2.1.0.26 tracks/clojure/exercises/flatten-array/src/example.clj
trackler-2.1.0.25 tracks/clojure/exercises/flatten-array/src/example.clj
trackler-2.1.0.24 tracks/clojure/exercises/flatten-array/src/example.clj
trackler-2.1.0.23 tracks/clojure/exercises/flatten-array/src/example.clj
trackler-2.1.0.22 tracks/clojure/exercises/flatten-array/src/example.clj
trackler-2.1.0.21 tracks/clojure/exercises/flatten-array/src/example.clj
trackler-2.1.0.20 tracks/clojure/exercises/flatten-array/src/example.clj
trackler-2.1.0.19 tracks/clojure/exercises/flatten-array/src/example.clj