Elixir:
Debug-Ausgaben drucken

How to:

Mit Elixir kannst du einfach debuggen. Nutze die IO.inspect/2 Funktion, um Werte während des Programmablaufs zu überprüfen.

# Einfaches Beispiel
defmodule MyModule do
  def greet(name) do
    IO.inspect(name, label: "Der empfangene Name")
    "Hallo #{name}"
  end
end

MyModule.greet("Welt")

Ausgabe im Terminal könnte so aussehen:

Der empfangene Name: "Welt"
"Hallo Welt"

Deep Dive

Elixir basiert auf der Erlang VM (BEAM), daher sind die Debug-Funktionen teilweise von Erlangs leistungsstarken Tracing-Fähigkeiten geerbt. IO.inspect/2 ist für den Einstieg praktisch, aber für komplexeren Debugging solltest du in Tools wie :observer.start oder Debugging-Packages wie :debugger einsteigen.

Alternativ zum direkten Ausdrucken gibt es auch strukturiertere Logging-Frameworks wie Logger, die mehr Kontrolle und Flexibilität bieten.

Der Einsatz von IO.inspect/2 kann eleganter gestaltet werden durch Verwendung in einer Pipe:

"foo"
|> IO.inspect(label: "vor Änderung")
|> String.upcase()
|> IO.inspect(label: "nach Änderung")

Das liefert dann eine klare Trennung des Datenflusses und des Debugging:

vor Änderung: "foo"
nach Änderung: "FOO"

See Also