Strings in Elixir werden von doppelten Anführungszeichen eingeschlossen und sind in UTF-8 kodiert:
"Hi!"
Strings lassen sich mit dem Operator <>/2 verketten:
"Welcome to" <> " " <> "New York"
# => "Welcome to New York"
Strings in Elixir unterstützen Interpolation mit der Syntax #{}:
"6 * 7 = #{6 * 7}"
# => "6 * 7 = 42"
Um ein Zeilenumbruchzeichen in einen String einzufügen, verwendest du den Escape-Code \n:
"1\n2\n3\n"
Um bequem mit Texten mit vielen Zeilenumbrüchen zu arbeiten, verwendest du stattdessen die Heredoc-Syntax mit dreifachen doppelten Anführungszeichen:
"""
1
2
3
"""
Elixir bietet viele Funktionen für die Arbeit mit Strings im Modul String.
Der Operator |> heißt Pipe-Operator. Mit ihm kannst du Funktionsaufrufe so aneinanderreihen, dass der Rückgabewert des vorherigen Funktionsaufrufs als erstes Argument an den nächsten Funktionsaufruf übergeben wird.
"hello"
|> String.upcase()
|> Kernel.<>("?!")
# => "HELLO?!"
In dieser Übung hilfst du Highschool-Liebespaaren, ihre Liebe in den sozialen Medien zu bekunden, indem du eine ASCII-Box mit ihren Initialen erzeugst:
❤-------------------❤
| J. K. + M. B. |
❤-------------------❤
Implementiere die Funktion HighSchoolSweetheart.first_letter/1. Sie soll einen Namen entgegennehmen und dessen ersten Buchstaben zurückgeben. Überflüssige Leerzeichen soll sie aus dem Namen entfernen.
HighSchoolSweetheart.first_letter("Jane")
# => "J"
Implementiere die Funktion HighSchoolSweetheart.initial/1. Sie soll einen Namen entgegennehmen und dessen ersten Buchstaben in Großbuchstaben zurückgeben, gefolgt von einem Punkt. Achte darauf, die Funktion HighSchoolSweetheart.first_letter/1 aus dem vorherigen Schritt wiederzuverwenden.
HighSchoolSweetheart.initial("Robert")
# => "R."
Implementiere die Funktion HighSchoolSweetheart.initials/1. Sie soll einen vollständigen Namen entgegennehmen, der aus einem Vornamen und einem Nachnamen besteht, die durch ein Leerzeichen getrennt sind, und die Initialen zurückgeben. Achte darauf, die Funktion HighSchoolSweetheart.initial/1 aus dem vorherigen Schritt wiederzuverwenden.
HighSchoolSweetheart.initials("Lance Green")
# => "L. G."
Implementiere die Funktion HighSchoolSweetheart.pair/2. Sie soll zwei vollständige Namen entgegennehmen und die Initialen in einer ASCII-Box zurückgeben. Du musst die Box nicht selbst zeichnen; nutze die Box, die im Codekommentar enthalten ist. Achte darauf, die Funktion HighSchoolSweetheart.initials/1 aus dem vorherigen Schritt wiederzuverwenden.
HighSchoolSweetheart.pair("Blake Miller", "Riley Lewis")
# => """
# ❤-------------------❤
# | B. M. + R. L. |
# ❤-------------------❤
# """
Melde dich bei Exercism an, um Elixir mit 58 Konzepte168 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.