some pure-ludus string manipulation testing

This commit is contained in:
Scott Richmond 2024-06-15 11:58:30 -04:00
parent 223823ea68
commit aba77569ac

View File

@ -49,15 +49,37 @@
(set (out :draw) (post :draw))
(-> out j/encode string))
(comment
# (do
# (comment
(do
(def source `
match :foo with {
:bar -> :baz
:baz -> :quux
"thing {foo}" -> "worste"
42 -> 23
fn strip_punctuation {
("{x},{y}") -> strip_punctuation ("{x}{y}")
("{x}.{y}") -> strip_punctuation ("{x}{y}")
("{x};{y}") -> strip_punctuation ("{x}{y}")
("{x}:{y}") -> strip_punctuation ("{x}{y}")
("{x}?{y}") -> strip_punctuation ("{x}{y}")
("{x}!{y}") -> strip_punctuation ("{x}{y}")
(x) -> x
}
fn trim_left {
(" {x}") -> trim_left ("{x}")
("\n{x}") -> trim_left ("{x}")
("\t{x}") -> trim_left ("{x}")
(x) -> x
}
fn trim_right {
("{x} ") -> trim_right ("{x}")
("{x}\n") -> trim_right ("{x}")
("{x}\t") -> trim_right ("{x}")
(x) -> x
}
fn trim (x) -> do x > trim_left > trim_right
trim_left ("
foo")
`)
(def out (-> source
ludus