Erste Schritte mit F# mit der .NET-CLI
In diesem Artikel werden die ersten Schritte mit F# unter einem beliebigen Betriebssystem (Windows, macOS oder Linux) mit der .NET-CLI beschrieben. Dabei wird eine Projektmappe mit mehreren Projekten mit einer Klassenbibliothek erstellt, die von einer Konsolenanwendung aufgerufen wird.
Voraussetzungen
Zuerst müssen Sie das aktuelle .NET SDK installieren.
In diesem Artikel wird davon ausgegangen, dass Sie wissen, wie Sie eine Befehlszeile verwenden, und über einen bevorzugten Text-Editor verfügen. Falls Sie noch keinen bevorzugten Text-Editor haben, ist Visual Studio Code eine hervorragende Option als Text-Editor für F#.
Erstellen einer einfachen Projektmappe mit mehreren Projekten
Öffnen Sie eine Eingabeaufforderung/ein Terminal, und verwenden Sie den dotnet new-Befehl, um eine neue Projektmappendatei mit dem Namen FSharpSample
zu erstellen:
dotnet new sln -o FSharpSample
Nach Ausführung des obigen Befehls wird folgende Verzeichnisstruktur erzeugt:
FSharpSample
├── FSharpSample.sln
Schreiben einer Klassenbibliothek
Wechseln Sie zum Verzeichnis FSharpSample.
Verwenden Sie den dotnet new
-Befehl, um im Ordner src ein Klassenbibliotheksprojekt mit dem Namen „Library“ zu erstellen.
dotnet new classlib -lang "F#" -o src/Library
Nach Ausführung des obigen Befehls wird folgende Verzeichnisstruktur erzeugt:
└── FSharpSample
├── FSharpSample.sln
└── src
└── Library
├── Library.fs
└── Library.fsproj
Ersetzen Sie den Inhalt von Library.fs
durch den folgenden Code.
module Library
open System.Text.Json
let getJson value =
let json = JsonSerializer.Serialize(value)
value, json
Fügen Sie das Library
-Projekt mit dem Befehl dotnet sln add zur FSharpSample
-Projektmappe hinzu:
dotnet sln add src/Library/Library.fsproj
Führen Sie dotnet build
aus, um das Projekt zu erstellen. Nicht aufgelöste Abhängigkeiten werden bei der Erstellung wiederhergestellt.
Schreiben einer Konsolenanwendung, die die Klassenbibliothek verwendet
Verwenden Sie den dotnet new
-Befehl, um im Ordner src eine Konsolenanwendung mit dem Namen „App“ zu erstellen.
dotnet new console -lang "F#" -o src/App
Nach Ausführung des obigen Befehls wird folgende Verzeichnisstruktur erzeugt:
└── FSharpSample
├── FSharpSample.sln
└── src
├── App
│ ├── App.fsproj
│ ├── Program.fs
└── Library
├── Library.fs
└── Library.fsproj
Ersetzen Sie den Inhalt der Datei Program.fs
durch den folgenden Code:
open System
open Library
[<EntryPoint>]
let main args =
printfn "Nice command-line arguments! Here's what System.Text.Json has to say about them:"
let value, json = getJson {| args=args; year=System.DateTime.Now.Year |}
printfn $"Input: %0A{value}"
printfn $"Output: %s{json}"
0 // return an integer exit code
Fügen Sie mit dotnet add reference einen Verweis auf das Library
-Projekt hinzu.
dotnet add src/App/App.fsproj reference src/Library/Library.fsproj
Fügen Sie das App
-Projekt mit dem Befehl dotnet sln add
zur FSharpSample
-Projektmappe hinzu:
dotnet sln add src/App/App.fsproj
Stellen Sie die NuGet-Abhängigkeiten mit dotnet restore
wieder her, und führen Sie dotnet build
aus, um das Projekt zu erstellen.
Wechseln Sie zum Verzeichnis src/App
des Konsolenprojekts, und führen Sie das Projekt mit Übergabe von Hello World
als Argument aus:
cd src/App
dotnet run Hello World
Die Ergebnisse sollten wie folgt aussehen:
Nice command-line arguments! Here's what System.Text.Json has to say about them:
Input: { args = [|"Hello"; "World"|] year = 2021 }
Output: {"args":["Hello","World"],"year":2021}
Nächste Schritte
Lesen Sie als Nächstes die Einführung in F# durch, um mehr über die verschiedenen F#-Features zu erfahren.