Co je F# Interactive?
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!