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) => String.split x fun (x : Char) => 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
- String.getRest s t = List.asString <$> List.getRest (String.toList s) (String.toList t)
Instances For
Produce the head character from the string s
, if s
is not empty, otherwise 'A'
.