Co to jest F# Interactive?

Ukończone

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!