Co to jest F# Interactive?
Czasami nie chcesz przechodzić przez proces tworzenia, pakowania i dystrybucji aplikacji. F# Interactive to interaktywne środowisko programowania i skryptów. Ułatwia przejście od pomysłu do kodu, umożliwiając pisanie i ocenianie kodu w czasie rzeczywistym za pomocą konsoli lub autonomicznych plików skryptów.
Uruchamianie interaktywnego języka F#
Język F# Interactive jest wbudowany w zestaw .NET SDK. Można go uruchomić za pomocą polecenia interfejsu wiersza polecenia dotnet fsi
platformy .NET.
dotnet fsi
Read-Evaluate-Print-Loop (REPL)
Uruchomienie programu F# Interactive uruchamia cię w sesji rePL (read-evaluate-print-loop), w której można napisać kod F# i natychmiast ocenić jego dane wyjściowe w konsoli.
Microsoft (R) F# Interactive version 11.4.2.0 for F# 5.0
Copyright (c) Microsoft Corporation. All Rights Reserved.
For help type #help;;
>
Uruchamianie i obliczanie wyrażeń
Aby ocenić dane wejściowe, musisz wprowadzić je po >
znaku.
> #help;;
Jeśli na przykład uruchomisz #help
polecenie, dane wyjściowe zawierają menu Pomocy interaktywnej języka F#.
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
Koniec wyrażenia jest rozdzielany znakami ;;
. Żaden kod nie jest oceniany do momentu wprowadzenia ;;
znaków. Ta struktura jest przydatna podczas pisania wyrażeń wielowierszowych, ponieważ kod nie jest rozdzielany przez nowe znaki wiersza.
Ocena kodu F# działa w taki sam sposób. Poniższy kod wyświetla komunikat w konsoli programu .
> printfn "Hello World!";;
Oceniane dane wyjściowe to:
Hello World!
val it : unit = ()
Pierwszy wiersz wyświetla dane wyjściowe z ocenianego kodu, a drugi wiersz wyświetla informacje o typie danych wyjściowych. W takim przypadku wartość wyjściowa do konsoli jest typu unit
, który jest reprezentowany przez ()
token i powiązany z it
nazwą. Możesz uzyskać dostęp do it
wartości w dalszej części programu, jeśli chcesz wykonać więcej operacji.
Zamykanie środowiska REPL
Po użyciu interaktywnej rePL języka F# użyj #q
poleceń lub #quit
, aby zakończyć pracę.
> #q;;
pliki skryptów fsx
Podczas pisania więcej kodu możesz zapisać kod w skryfcie za pomocą rozszerzenia pliku fsx .
Jeśli używasz tego samego przykładu drukowania komunikatu w konsoli programu , możesz utworzyć plik o nazwie my-script.fsx , aby napisać kod.
printfn "Hello World!"
Należy jednak pamiętać, że w plikach fsx nie trzeba używać ;;
na końcu wyrażeń. Nie potrzebujesz go, ponieważ w plikach skryptów program F# Interactive może używać standardowych wytycznych dotyczących formatowania kodu F#, takich jak wcięcie i nowe wiersze.
Zamiast kompilować kod źródłowy, a następnie później uruchamiać skompilowany zestaw, wystarczy uruchomić dotnet fsi
i określić nazwę pliku skryptu zawierającego kod F#, a język F# interaktywnie odczytuje kod i wykonuje go w czasie rzeczywistym.
dotnet fsi my-script.fsx
Uruchomienie tego skryptu powoduje wygenerowanie następujących danych wyjściowych.
Hello World!