Sha256: b4eb72c5eaa9884bc1445b733b254a41ce6878b7d7f9a32d9b7e6fd95b4b4561

Contents?: true

Size: 487 Bytes

Versions: 396

Compression:

Stored size: 487 Bytes

Contents

(ns raindrops
  (:require [clojure.string :refer [blank?]]))

(def ^:private sound-map
  { 3 "Pling"
    5 "Plang"
    7 "Plong" })

(defn- divisors
  [number]
  (filter
    (fn [[div sound]]
      (zero? (rem number div)))
    sound-map))

(defn- sounds-for
  [number]
  (let [divisors (divisors number)
        sounds (map last divisors)]
    (apply str sounds)))

(defn convert
  [number]
  (let [sounds (sounds-for number)]
    (if (blank? sounds)
      (str number)
      sounds)))

Version data entries

396 entries across 396 versions & 1 rubygems

Version Path
trackler-2.2.1.159 tracks/clojure/exercises/raindrops/src/example.clj
trackler-2.2.1.158 tracks/clojure/exercises/raindrops/src/example.clj
trackler-2.2.1.157 tracks/clojure/exercises/raindrops/src/example.clj
trackler-2.2.1.156 tracks/clojure/exercises/raindrops/src/example.clj
trackler-2.2.1.155 tracks/clojure/exercises/raindrops/src/example.clj
trackler-2.2.1.154 tracks/clojure/exercises/raindrops/src/example.clj
trackler-2.2.1.153 tracks/clojure/exercises/raindrops/src/example.clj
trackler-2.2.1.152 tracks/clojure/exercises/raindrops/src/example.clj
trackler-2.2.1.151 tracks/clojure/exercises/raindrops/src/example.clj
trackler-2.2.1.150 tracks/clojure/exercises/raindrops/src/example.clj
trackler-2.2.1.149 tracks/clojure/exercises/raindrops/src/example.clj
trackler-2.2.1.148 tracks/clojure/exercises/raindrops/src/example.clj
trackler-2.2.1.147 tracks/clojure/exercises/raindrops/src/example.clj
trackler-2.2.1.146 tracks/clojure/exercises/raindrops/src/example.clj
trackler-2.2.1.145 tracks/clojure/exercises/raindrops/src/example.clj
trackler-2.2.1.144 tracks/clojure/exercises/raindrops/src/example.clj
trackler-2.2.1.143 tracks/clojure/exercises/raindrops/src/example.clj
trackler-2.2.1.142 tracks/clojure/exercises/raindrops/src/example.clj
trackler-2.2.1.141 tracks/clojure/exercises/raindrops/src/example.clj
trackler-2.2.1.140 tracks/clojure/exercises/raindrops/src/example.clj