Pad s : String
with repeated occurrences of c : Char
until it's of length n
.
If s
is initially larger than n
, just return s
.
Equations
- String.leftpad n c s = { data := List.leftpad n c s.data }
Instances For
Construct the string consisting of n
copies of the character c
.
Equations
- String.replicate n c = { data := List.replicate n c }
Instances For
s.isPrefix t
checks if the string s
is a prefix of the string t
.
Equations
- String.isPrefix x x = match x, x with | { data := d1 }, { data := d2 } => d1 <+: d2
Instances For
s.isSuffix t
checks if the string s
is a suffix of the string t
.
Equations
- String.isSuffix x x = match x, x with | { data := d1 }, { data := d2 } => d1 <:+ d2
Instances For
String.mapTokens c f s
tokenizes s : string
on c : char
, maps f
over each token, and
then reassembles the string by intercalating the separator token c
over the mapped tokens.
Equations
- String.mapTokens c f = String.intercalate (String.singleton c) ∘ List.map f ∘ fun x => String.split x fun x => decide (x = c)
Instances For
getRest s t
returns some r
if s = t ++ r
.
If t
is not a prefix of s
, it returns none
.
Equations
Instances For
Produce the head character from the string s
, if s
is not empty, otherwise 'A'
.