diff options
author | Mathias Jean Johansen <mathias@mjj.io> | 2022-05-02 17:39:44 +0200 |
---|---|---|
committer | Louis Pilfold <louis@lpil.uk> | 2022-05-04 22:08:15 +0100 |
commit | bcea3cf65a63f948784d70425d6fc46ae648b1e4 (patch) | |
tree | a599a54fddfb66e48566a05b604354c43a1f52d2 | |
parent | 215a4868d237d349aeae9e033ed907ac6313bee0 (diff) | |
download | gleam_stdlib-bcea3cf65a63f948784d70425d6fc46ae648b1e4.tar.gz gleam_stdlib-bcea3cf65a63f948784d70425d6fc46ae648b1e4.zip |
Refactor `capitalize` to use `pop_grapheme`.
-rw-r--r-- | src/gleam/string.gleam | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/src/gleam/string.gleam b/src/gleam/string.gleam index 6c58135..2440e83 100644 --- a/src/gleam/string.gleam +++ b/src/gleam/string.gleam @@ -797,12 +797,8 @@ pub fn last(s: String) -> Option(String) { /// ``` /// pub fn capitalize(s: String) -> String { - let first = - slice(s, 0, 1) - |> uppercase - let rest = - slice(s, 1, length(s)) - |> lowercase - - append(to: first, suffix: rest) + case pop_grapheme(s) { + Ok(#(first, rest)) -> append(to: uppercase(first), suffix: lowercase(rest)) + _ -> "" + } } |