Data commit

This commit is contained in:
Ingy döt Net 2023-07-01 11:58:00 -04:00
parent 7387c8f97b
commit cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions

View file

@ -0,0 +1,3 @@
(defn reverse-string [s]
"Returns a string with all characters in reverse"
(apply str (reduce conj '() s)))

View file

@ -0,0 +1 @@
(defn str-reverse [s] (apply str (reverse s)))

View file

@ -0,0 +1 @@
(apply str (interpose " " (reverse (.split "the quick brown fox" " "))))

View file

@ -0,0 +1,21 @@
(defn combining? [c]
(let [type (Character/getType c)]
;; currently hardcoded to the types taken from the sample string
(or (= type 6) (= type 7))))
(defn group
"Group normal characters with their combining characters"
[chars]
(cond (empty? chars) chars
(empty? (next chars)) (list chars)
:else
(let [dres (group (next chars))]
(cond (combining? (second chars)) (cons (cons (first chars)
(first dres))
(rest dres))
:else (cons (list (first chars)) dres)))))
(defn str-reverse
"Unicode-safe string reverse"
[s]
(apply str (apply concat (reverse (group s)))))