.NET CLI ile F# kullanmaya başlama

Bu makale, .NET CLI ile herhangi bir işletim sisteminde (Windows, macOS veya Linux) F# kullanmaya nasıl başlayabileceğinizi kapsar. Konsol uygulaması tarafından çağrılan bir sınıf kitaplığı ile çok projeli bir çözüm oluşturma işleminden geçer.

Önkoşullar

Başlamak için en son .NET SDK'sını yüklemeniz gerekir.

Bu makalede, komut satırını kullanmayı bildiğiniz ve tercih edilen bir metin düzenleyicisine sahip olduğunuz varsayılır. Henüz kullanmıyorsanız, Visual Studio Code F# için metin düzenleyicisi olarak harika bir seçenektir.

Basit bir çoklu proje çözümü oluşturma

Bir komut istemi/terminal açın ve adlı FSharpSampleyeni bir çözüm dosyası oluşturmak için dotnet new komutunu kullanın:

dotnet new sln -o FSharpSample

Aşağıdaki dizin yapısı, önceki komut çalıştırıldıktan sonra oluşturulur:

FSharpSample
    ├── FSharpSample.sln

Sınıf kitaplığı yazma

Dizinleri FSharpSample olarak değiştirin.

dotnet new Library adlı src klasöründe bir sınıf kitaplığı projesi oluşturmak için komutunu kullanın.

dotnet new classlib -lang "F#" -o src/Library

Aşağıdaki dizin yapısı, önceki komut çalıştırıldıktan sonra oluşturulur:

└── FSharpSample
    ├── FSharpSample.sln
    └── src
        └── Library
            ├── Library.fs
            └── Library.fsproj

öğesinin içeriğini Library.fs aşağıdaki kodla değiştirin:

module Library

open System.Text.Json

let getJson value =
    let json = JsonSerializer.Serialize(value)
    value, json

Library dotnet sln add komutunu kullanarak projeyi FSharpSample çözüme ekleyin:

dotnet sln add src/Library/Library.fsproj

Projeyi oluşturmak için komutunu çalıştırın dotnet build . Derlenirken çözümlenmemiş bağımlılıklar geri yüklenir.

Sınıf kitaplığını kullanan bir konsol uygulaması yazma

dotnet new Komutunu kullanarak App adlı src klasöründe bir konsol uygulaması oluşturun.

dotnet new console -lang "F#" -o src/App

Aşağıdaki dizin yapısı, önceki komut çalıştırıldıktan sonra oluşturulur:

└── FSharpSample
    ├── FSharpSample.sln
    └── src
        ├── App
        │   ├── App.fsproj
        │   ├── Program.fs
        └── Library
            ├── Library.fs
            └── Library.fsproj

Program.fs dosyasının içeriğini aşağıdaki kodla değiştirin:

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

dotnet add reference Library komutunu kullanarak projeye başvuru ekleyin.

dotnet add src/App/App.fsproj reference src/Library/Library.fsproj

App komutunu kullanarak projeyi FSharpSample çözüme dotnet sln add ekleyin:

dotnet sln add src/App/App.fsproj

Ile NuGet bağımlılıklarını dotnet restore geri yükleyin ve projeyi oluşturmak için komutunu çalıştırın dotnet build .

Dizini konsol projesi olarak src/App değiştirin ve projeyi bağımsız değişken olarak geçirin Hello World :

cd src/App
dotnet run Hello World

Aşağıdaki sonuçları görmeniz gerekir:

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}

Sonraki adımlar

Ardından farklı F# özellikleri hakkında daha fazla bilgi edinmek için F# Turu'na göz atın.