Co je F# Interactive?

Dokončeno

Někdy nechcete procházet procesem vytváření, balení a distribuce aplikace. F# Interactive je interaktivní programovací a skriptovací prostředí. Umožňuje jednoduše přejít z nápadu na kód tím, že vám umožní psát a vyhodnocovat kód v reálném čase prostřednictvím konzoly nebo samostatných skriptových souborů.

Spuštění F# Interactive

Jazyk F# Interactive je integrovaný do sady .NET SDK. Můžete ho spustit pomocí příkazu .NET CLI dotnet fsi .

dotnet fsi

Read-Evaluate-Print-Loop (REPL)

Když spustíte F# Interactive, spustíte relaci REPL (read-evaluate-print-loop), kde můžete napsat kód F# a okamžitě vyhodnotit jeho výstup v konzole.

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

For help type #help;;

>

Spuštění a vyhodnocení výrazů

Pokud chcete vyhodnotit vstup, musíte ho > zadat za znakem.

> #help;;

Pokud například spustíte #help příkaz, výstup zobrazí nabídku nápovědy F# Interactive.

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

Konec výrazu je oddělený ;; znaky. Dokud nezadáte ;; znaky, nevyhodnotí se žádný kód. Tato struktura je užitečná při psaní víceřádkových výrazů, protože váš kód není oddělený znaky nového řádku.

Vyhodnocení kódu F# funguje stejným způsobem. Následující kód vytiskne zprávu do konzoly.

> printfn "Hello World!";;

Vyhodnocený výstup je:

Hello World!
val it : unit = ()

První řádek zobrazí výstup z vyhodnoceného kódu, zatímco druhý řádek zobrazuje informace o typu výstupu. V tomto případě je výstup hodnoty konzoly typu unit, který je reprezentován tokenem () a vázán na it název. Pokud chcete provádět další operace, můžete k hodnotě it přistupovat později v programu.

Ukončení REPL

Po použití F# Interactive REPL ukončete příkazy #q nebo #quit příkazy.

> #q;;

soubory skriptů fsx

Při psaní dalšího kódu můžete kód uložit do skriptu s příponou souboru fsx .

Pokud použijete stejný příklad tisku zprávy do konzoly, můžete vytvořit soubor s názvem my-script.fsx pro napsání kódu.

printfn "Hello World!"

Jednou z věcí, kterou je třeba poznamenat, je, že v souborech fsx nemusíte používat ;; na konci výrazů. Nepotřebujete ji, protože v souborech skriptů dokáže F# Interactive používat standardní pokyny pro formátování kódu F#, jako je odsazení a nové řádky.

Místo kompilace zdrojového kódu a následného spuštění kompilovaného sestavení stačí spustit dotnet fsi a zadat název souboru skriptu obsahujícího kód F# a jazyk F# interactive kód přečte a spustí ho v reálném čase.

dotnet fsi my-script.fsx

Spuštění tohoto skriptu vytvoří následující výstup.

Hello World!