Fachkonzept - REPL und Projekte
Nutzung von Elm-Projekten
Die Programmierung in der REPL ist sehr gut geeignet, um mit Elm zu experimentieren oder eigene Funktionen zu testen. Um Programme dauerhaft zu speichern, nutzt man Elm-Projekte.
Ein Projekt legt man mit Hilfe des Befehls elm init
im Terminal an:
% elm init
Im aktuellen Verzeichis wird dadurch eine Konfigurationsdatei mit dem Namen elm.json und ein Verzeichnis mit dem Namen src für Elm-Quellcode angelegt.
Den Quellcode des Programms speichert man innerhalb des src-Verzeichnisses
in einer Datei mit der Dateiendung .elm
und definiert dort ein gleichnamiges Modul.
Datei- und Modulnamen müssen in Elm großgeschrieben werden.
Mit dem Ausdruck exposing (..)
gibt man an, dass alle Konstanten und Funktionen
außerhalb des Moduls verfügbar sein sollen. (Es ist besserer Stil nicht alles zu exportieren.
Dies werden wir in späteren Abschnitten thematisieren. Bis dahin exportieren wir der
Einfachkeit halber alle Inhalte des Moduls.)
Ein Modul zu Berechnungen im Kontext von Pyramiden könnte man also z.B. in der Datei Pyramide.elm
mit folgendem Inhalt speichern.
module Pyramide exposing (..)
volumenPyramide : Float -> Float -> Float
volumenPyramide laenge hoehe =
(1 / 3) * (laenge * laenge) * hoehe
-- weitere Funktionen und Konstanten ...
Ein Modul in der REPL nutzen
Du kannst die Funktionen deines Moduls in der REPL benutzen, wenn du dein Modul importierst. Ein Dialog kann also z.B. folgende Form haben:
> import Pyramide exposing (..)
> volumenPyramide
<function> : Float -> Float -> Float
> volumenPyramide 230.3 146.6
2591794.6646666666 : Float
Wenn du Änderungen am Modul durchführst, kannst du die geänderten Funktionen aufrufen, ohne dass du das Modul neu importieren musst. Die REPL bemerkt, wenn sich die Datei des Moduls ändert.