Tracks
/
Elixir
Elixir
/
Übungen
/
Namensschild
Namensschild

Namensschild

Lernübung

Einführung

Nil

Nil ist ein englisches Wort und bedeutet „nichts" oder „Null". In Elixir ist nil ein spezieller Wert, der das Fehlen eines Werts bedeutet.

# I do not have a favorite color
favorite_color = nil

In anderen Programmiersprachen spielen Werte wie null oder none vielleicht eine ähnliche Rolle.

If

Neben cond bietet Elixir auch das Makro if/2, das nützlich ist, wenn du nur eine einzige Bedingung prüfen musst.

if/2 erwartet eine Bedingung und zwei Optionen. Es gibt die erste Option zurück, wenn die Bedingung truthy ist, und die zweite Option, wenn die Bedingung falsy ist.

age = 15

if age >= 16 do
  "You are allowed to drink beer in Germany."
else
  "No beer for you!"
end

# => "No beer for you!"

Du kannst einen if-Ausdruck auch in einer einzigen Zeile schreiben. Beachte das Komma nach der Bedingung.

if age > 16, do: "beer", else: "no beer"

Diese Syntax ist hilfreich für sehr kurze Ausdrücke, aber du solltest sie vermeiden, wenn der Ausdruck nicht in eine einzige Zeile passt.

Truthy und falsy

In Elixir wertet jeder Datentyp zu einem truthy- oder falsy-Wert aus, wenn er in einem booleschen Kontext (wie einem if-Ausdruck) auftaucht. Alle Daten gelten als truthy, außer false und nil. Insbesondere leere Strings, die Ganzzahl 0 und leere Listen gelten in Elixir alle als truthy.

Anleitung

In dieser Übung schreibst du Code, um Namensschilder für die Mitarbeiter einer Fabrik auszugeben. Mitarbeiter haben eine ID, einen Namen und einen Abteilungsnamen. Die Beschriftung der Namensschilder hat folgendes Format: "[id] - name - DEPARTMENT".

1. Gib ein Namensschild für einen Mitarbeiter aus

Implementiere die Funktion NameBadge.print/3. Sie nimmt eine ID, einen Namen und eine Abteilung entgegen. Sie soll die Beschriftung des Schilds zurückgeben, wobei der Abteilungsname in Großbuchstaben steht.

NameBadge.print(67, "Katherine Williams", "Strategic Communication")
# => "[67] - Katherine Williams - STRATEGIC COMMUNICATION"

2. Gib ein Namensschild für einen neuen Mitarbeiter aus

Wegen einer Eigenheit im Computersystem haben neue Mitarbeiter manchmal noch keine ID, wenn sie in der Fabrik anfangen zu arbeiten. Da Namensschilder Pflicht sind, bekommen sie ein vorläufiges Schild ohne das ID-Präfix.

Erweitere die Funktion NameBadge.print/3. Wenn die ID fehlt, soll sie ein Schild ohne ID ausgeben.

NameBadge.print(nil, "Robert Johnson", "Procurement")
# => "Robert Johnson - PROCUREMENT"

3. Gib ein Namensschild für den Besitzer aus

Auch der Besitzer der Fabrik muss jederzeit ein Namensschild tragen. Ein Besitzer hat jedoch keine Abteilung. In diesem Fall soll die Beschriftung "OWNER" anstelle des Abteilungsnamens ausgeben.

Erweitere die Funktion NameBadge.print/3. Wenn die Abteilung fehlt, geh davon aus, dass das Schild dem Besitzer der Firma gehört.

NameBadge.print(204, "Rachel Miller", nil)
# => "[204] - Rachel Miller - OWNER"

Beachte, dass der Besitzer gleichzeitig ein neuer Mitarbeiter sein kann.

NameBadge.print(nil, "Rachel Miller", nil)
# => "Rachel Miller - OWNER"
Über GitHub bearbeiten Der Link öffnet sich in einem neuen Fenster oder Tab
Elixir Exercism

Bereit, mit Namensschild zu starten?

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