Sha256: 48c6319fb7a23b0c57760bc8b45325b9b490ab38f959c6c053224ced4508446c

Contents?: true

Size: 500 Bytes

Versions: 368

Compression:

Stored size: 500 Bytes

Contents

(ns bob
  (:require [clojure.string :as str]))

(defn- silence?    [msg] (str/blank? msg))

(defn- question?   [msg] (= \? (last msg)))

(defn- has-letter? [msg] (some #(Character/isLetter (int %)) msg))

(defn- shouting?   [msg] (and (= msg (str/upper-case msg))
                              (has-letter? msg)))

(defn response-for [input]
  (cond
    (silence?  input) "Fine. Be that way!"
    (shouting? input) "Whoa, chill out!"
    (question? input) "Sure."
    :else             "Whatever."))

Version data entries

368 entries across 368 versions & 1 rubygems

Version Path
trackler-2.2.1.151 tracks/clojure/exercises/bob/src/example.clj
trackler-2.2.1.150 tracks/clojure/exercises/bob/src/example.clj
trackler-2.2.1.149 tracks/clojure/exercises/bob/src/example.clj
trackler-2.2.1.148 tracks/clojure/exercises/bob/src/example.clj
trackler-2.2.1.147 tracks/clojure/exercises/bob/src/example.clj
trackler-2.2.1.146 tracks/clojure/exercises/bob/src/example.clj
trackler-2.2.1.145 tracks/clojure/exercises/bob/src/example.clj
trackler-2.2.1.144 tracks/clojure/exercises/bob/src/example.clj
trackler-2.2.1.143 tracks/clojure/exercises/bob/src/example.clj
trackler-2.2.1.142 tracks/clojure/exercises/bob/src/example.clj
trackler-2.2.1.141 tracks/clojure/exercises/bob/src/example.clj
trackler-2.2.1.140 tracks/clojure/exercises/bob/src/example.clj
trackler-2.2.1.139 tracks/clojure/exercises/bob/src/example.clj
trackler-2.2.1.138 tracks/clojure/exercises/bob/src/example.clj
trackler-2.2.1.137 tracks/clojure/exercises/bob/src/example.clj
trackler-2.2.1.136 tracks/clojure/exercises/bob/src/example.clj
trackler-2.2.1.135 tracks/clojure/exercises/bob/src/example.clj
trackler-2.2.1.134 tracks/clojure/exercises/bob/src/example.clj
trackler-2.2.1.133 tracks/clojure/exercises/bob/src/example.clj
trackler-2.2.1.132 tracks/clojure/exercises/bob/src/example.clj