Add symbol factories for punctuation, space, defaults symbols.

This commit is contained in:
2023-09-16 22:02:18 +03:00
parent a7ccad8e1e
commit 5ca5765e01
2 changed files with 70 additions and 12 deletions
@@ -1,4 +1,4 @@
(ns cipher-analytical-machine.symbol_factories
(ns cipher-analytical-machine.symbol-factories
(:require [clojure.string :as cs])
(:gen-class))
@@ -32,3 +32,32 @@
[]
"0123456789")
(defn punctuation-symbol-factory
"Return punctuation symbols"
[]
".,:;-!?")
(defn space-symbol-factory
"Return punctuation symbols"
[]
" \t\n")
(defn default-symbol-factory
"Return a default string of symbols for a language"
[language-code]
(cond
(= language-code "en")
(str (english-alphabet-factory)
(punctuation-symbol-factory)
(digit-set-factory)
\ )
(= language-code "uk")
(str (ukrainian-alphabet-factory)
(punctuation-symbol-factory)
(digit-set-factory)
\ )
:else
(default-symbol-factory "en")))