Tracks
/
Elixir
Elixir
/
Übungen
/
Highschool-Liebe
Highschool-Liebe

Highschool-Liebe

Lernübung

Einführung

Strings

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.

Pipe-Operator

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?!"

Anleitung

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.  |
❤-------------------❤

1. Ermittle den ersten Buchstaben des Namens

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"

2. Formatiere den ersten Buchstaben als Initiale

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."

3. Teile den vollständigen Namen in Vorname und Nachname auf

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."

4. Setze die Initialen in die ASCII-Box ein

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.  |
# ❤-------------------❤
# """
Über GitHub bearbeiten Der Link öffnet sich in einem neuen Fenster oder Tab
Elixir Exercism

Bereit, mit Highschool-Liebe zu starten?

Melde dich bei Exercism an, um Elixir mit 58 Konzepte168 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.