Condividi tramite


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#.