Introduzione a F# con l'interfaccia della riga di comando di .NET
Questo articolo illustra come iniziare a usare F# in qualsiasi sistema operativo (Windows, macOS o Linux) con l'interfaccia della riga di comando di .NET. Viene eseguita la compilazione di una soluzione multiprogetto con una libreria di classi chiamata da un'applicazione console.
Prerequisiti
Per iniziare, è necessario installare la versione più recente di .NET SDK.
Questo articolo presuppone che si sappia come usare una riga di comando e avere un editor di testo preferito. Se non lo si usa già, Visual Studio Code è un'ottima opzione come editor di testo per F#.
Creare una semplice soluzione multiprogetto
Aprire un prompt dei comandi o un terminale e usare il comando dotnet new per creare un nuovo file di soluzione denominato FSharpSample
:
dotnet new sln -o FSharpSample
La struttura di directory seguente viene generata dopo l'esecuzione del comando precedente:
FSharpSample
├── FSharpSample.sln
Scrivere una libreria di classi
Modificare le directory in FSharpSample.
Usare il dotnet new
comando per creare un progetto di libreria di classi nella cartella src denominata Library.
dotnet new classlib -lang "F#" -o src/Library
La struttura di directory seguente viene generata dopo l'esecuzione del comando precedente:
└── FSharpSample
├── FSharpSample.sln
└── src
└── Library
├── Library.fs
└── Library.fsproj
Sostituire il contenuto di Library.fs
con il codice seguente:
module Library
open System.Text.Json
let getJson value =
let json = JsonSerializer.Serialize(value)
value, json
Aggiungere il Library
progetto alla FSharpSample
soluzione usando il comando dotnet sln add :
dotnet sln add src/Library/Library.fsproj
Eseguire dotnet build
per compilare il progetto. Le dipendenze non risolte verranno ripristinate durante la compilazione.
Scrivere un'applicazione console che utilizza la libreria di classi
Usare il dotnet new
comando per creare un'applicazione console nella cartella src denominata App.
dotnet new console -lang "F#" -o src/App
La struttura di directory seguente viene generata dopo l'esecuzione del comando precedente:
└── FSharpSample
├── FSharpSample.sln
└── src
├── App
│ ├── App.fsproj
│ ├── Program.fs
└── Library
├── Library.fs
└── Library.fsproj
Sostituire il contenuto del file Program.fs
con il codice seguente:
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
Aggiungere un riferimento al Library
progetto usando dotnet add reference.
dotnet add src/App/App.fsproj reference src/Library/Library.fsproj
Aggiungere il App
progetto alla FSharpSample
soluzione usando il dotnet sln add
comando :
dotnet sln add src/App/App.fsproj
Ripristinare le dipendenze NuGet con dotnet restore
ed eseguire dotnet build
per compilare il progetto.
Passare la directory al src/App
progetto console ed eseguire il progetto passando Hello World
come argomenti:
cd src/App
dotnet run Hello World
Dovresti vedere i seguenti risultati:
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}
Passaggi successivi
Vedere quindi il tour di F# per altre informazioni sulle diverse funzionalità di F#.