F# Etkileşimli nedir?

Tamamlandı

Bazen bir uygulama oluşturma, paketleme ve dağıtma sürecinden geçmek istemezsiniz. F# Interactive, etkileşimli bir programlama ve betik oluşturma ortamıdır. Konsol veya tek başına betik dosyaları aracılığıyla gerçek zamanlı olarak kod yazmanızı ve değerlendirmenizi sağlayarak, fikirden koda geçmenizi kolaylaştırır.

F# Etkileşimli'ye Başlama

F# Interactive. .NET SDK'sı yerleşik olarak bulunur. .NET CLI dotnet fsi komutuyla başlatabilirsiniz.

dotnet fsi

Read-Evaluate-Print-Loop (REPL)

F# Etkileşimli'yi başlatmak, sizi F# kodunuzu yazabileceğiniz ve konsoldaki çıktısını hemen değerlendirebileceğiniz bir read-evaluate-print-loop (REPL) oturumuna başlatır.

Microsoft (R) F# Interactive version 11.4.2.0 for F# 5.0 
Copyright (c) Microsoft Corporation. All Rights Reserved.

For help type #help;;

>

İfadeleri çalıştırma ve değerlendirme

Girişinizi değerlendirmek için karakterden > sonra girmeniz gerekir.

> #help;;

Örneğin, komutunu çalıştırırsanız #help çıkışta F# Etkileşimli yardım menüsü gösterilir.

F# Interactive directives:

    #r "file.dll";;                               // Reference (dynamically load) the given DLL
    #i "package source uri";;                     // Include package source uri when searching for packages
    #I "path";;                                   // Add the given search path for referenced DLLs
    #load "file.fs" ...;;                         // Load the given file(s) as if compiled and referenced
    #time ["on"|"off"];;                          // Toggle timing on/off
    #help;;                                       // Display help
    #r "nuget:FSharp.Data, 3.1.2";;               // Load Nuget Package 'FSharp.Data' version '3.1.2'
    #r "nuget:FSharp.Data";;                      // Load Nuget Package 'FSharp.Data' with the highest version
    #quit;;                                       // Exit
    
F# Interactive command line options:

    See 'dotnet fsi --help' for options

bir ifadenin sonu karakterlerle ;; sınırlandırılır. Siz karakterleri girdiye kadar kod değerlendirilmez ;; . Kodunuz yeni satır karakterleriyle sınırlandırılamadığından çok satırlı ifadeler yazarken bu yapı kullanışlıdır.

F# kodunu değerlendirmek de aynı şekilde çalışır. Aşağıdaki kod konsola bir ileti yazdırır.

> printfn "Hello World!";;

Değerlendirilen çıkış:

Hello World!
val it : unit = ()

İlk satır, değerlendirilen koddan çıkışı görüntülerken, ikinci satır çıkışın tür bilgilerini görüntüler. Bu durumda, konsola değer çıkışı, belirteçle () temsil edilen ve ada bağlı it olan türündedirunit. Daha fazla işlem gerçekleştirmek istiyorsanız, bu değere daha sonra programınızda erişebilirsiniz it .

REPL'dan çıkma

F# Etkileşimli REPL'sini #q kullandıktan sonra çıkmak için veya #quit komutlarını kullanın.

> #q;;

fsx betik dosyaları

Daha fazla kod yazarken, kodunuzu fsx dosya uzantısıyla bir betikte kaydedebilirsiniz.

Konsola ileti yazdırmanın aynı örneğini kullanırsanız, kodunuzu yazmak için my-script.fsx adlı bir dosya oluşturabilirsiniz.

printfn "Hello World!"

Ancak, fsx dosyalarında ifadelerinizin sonunda kullanmanız ;; gerekmemesi dikkate almanız gerekir. Buna ihtiyacınız yoktur çünkü betik dosyalarında F# Interactive girintileme ve yeni satırlar gibi standart F# kod biçimlendirme yönergelerini kullanabilir.

Kaynak kodu derleyip daha sonra derlenmiş derlemeyi çalıştırmak yerine F# kodunuzu içeren betik dosyanızın adını çalıştırabilir dotnet fsi ve belirtebilirsiniz; F# etkileşimli kodu okur ve gerçek zamanlı olarak yürütür.

dotnet fsi my-script.fsx

Bu betiği çalıştırmak aşağıdaki çıkışı oluşturur.

Hello World!