diff --git a/high-school-sweetheart/src/high_school_sweetheart.gleam b/high-school-sweetheart/src/high_school_sweetheart.gleam index 43ae648..afa9d0e 100644 --- a/high-school-sweetheart/src/high_school_sweetheart.gleam +++ b/high-school-sweetheart/src/high_school_sweetheart.gleam @@ -1,23 +1,17 @@ import gleam/list +import gleam/result import gleam/string pub fn first_letter(name: String) { - case string.first(string.trim(name)) { - Error(_) -> "" - Ok(first) -> first - } + name |> string.trim |> string.first |> result.unwrap("") } pub fn initial(name: String) { - first_letter(name) |> string.uppercase <> "." + name |> first_letter |> string.uppercase |> string.append(".") } pub fn initials(full_name: String) { - case string.split(full_name, " ") { - [] -> "" - [first, last] -> initial(first) <> " " <> initial(last) - _ -> "" - } + full_name |> string.split(" ") |> list.map(initial) |> string.join(" ") } pub fn pair(full_name1: String, full_name2: String) {