Sha256: 87186564aa0e05fbaf746a247e7e4aa6e0b7fedd457a351d866ee652ff631ee2

Contents?: true

Size: 593 Bytes

Versions: 396

Compression:

Stored size: 593 Bytes

Contents

(ns atbash-cipher
  (:require [clojure.string :as str]))

(def ^:private letters
  (map char
    (range (int \a) (inc (int \z)))))

(def ^:private to-cipher
  (apply hash-map
    (interleave letters (reverse letters))))

(defn- sanitize
  [plaintext]
  (str/replace (str/lower-case plaintext) #"\W" ""))

(defn- cipher
  [plain-char]
  (or (to-cipher plain-char) plain-char))

(defn- to-chunks
  [character-list]
  (map #(apply str %) (partition 5 5 "" character-list)))

(defn encode
  [plaintext]
  (->> plaintext
       sanitize
       (map cipher)
       to-chunks
       (str/join " ")))

Version data entries

396 entries across 396 versions & 1 rubygems

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