Udostępnij za pośrednictwem


Odwołanie interakcyjne F# (fsi.exe)

F # interakcyjne (fsi.exe) służy interakcyjne uruchomianie F # kodu za pomocą konsoli, lub do wykonywania skryptów F #.Innymi słowy F # interakcyjne wykonuje replikacji (odczytu, Evaluate, pętla wydruku) dla języka F #.

Interakcyjne programowania w języku F #

Język F # interakcyjne może służyć do pisania kodu za pomocą konsoli lub w oknie programu Visual Studio.

Aby uruchomić F # interakcyjne z konsoli, należy uruchomić fsi.exe.Fsi.exe można znaleźć w "c:\Program Files (x 86) \Microsoft SDKs\F# \ < wersji > \Framework\ < wersji > \".Aby uzyskać informacje dotyczące dostępnych opcji wiersza polecenia, zobacz Opcje interakcyjne F#.

Aby uruchomić F # interakcyjne za pomocą programu Visual Studio, kliknięcie przycisku odpowiednich narzędzi etykietą F # interakcyjne, lub użyj klawiszy Ctrl + Alt + F.W ten sposób będzie Otwórz okno interaktywne, okno narzędzia uruchomiony F # interakcyjne sesji.Można również wybrać niektóre kodu, który ma zostać uruchomione w oknie interakcyjne i naciśnij kombinację klawiszy ALT + ENTER.Uruchamia F # interaktywne w oknie Narzędzie etykietą F # interakcyjne.Korzystając z tej kombinację klawiszy, upewnij się, że okno edytora jest aktywny.

Czy używasz konsoli lub programu Visual Studio, pojawi się w wierszu polecenia i interpretera oczekujące na wprowadzenie danych.Można wprowadzić kod, tak samo, jak w pliku kodu.Aby skompilować i wykonywania kodu, wprowadź dwie średnikami (;;) do zakończenia wiersza lub kilka wierszy danych wejściowych.

F # interakcyjne próbuje skompilować kod i, jeśli to się powiedzie, wykonuje kod i wyświetla podpis typów i wartości, które go skompilowany.Jeśli występują błędy, interpretera wyświetla komunikat o błędzie.

Wprowadzono w tej samej sesji kod ma dostęp do wszelkie konstrukcje wprowadzonych wcześniej, więc można tworzyć programy grupy.Bufor szeroką w oknie Narzędzie umożliwia skopiuj kod do pliku, jeśli to konieczne.

Po uruchomieniu programu Visual Studio, F # interakcyjne działa niezależnie od projektu, więc, na przykład nie można użyć konstrukcji zdefiniowany w projekt w F # interakcyjne, chyba że skopiuj kod dla funkcji do okna interakcyjne.

Jeśli masz otwartego projektu, który odwołuje się do niektórych bibliotek można odwoływać się je w F # interaktywne za pośrednictwem Eksploratora rozwiązań.Aby odwołać biblioteki w F # interakcyjne, rozwiń węzeł odwołuje się do węzła, otwórz menu skrótów biblioteki i wybierz polecenie wysyłać do F # interakcyjne.

Dostosowując ustawienia można kontrolować F # interakcyjne argumentów wiersza polecenia (Opcje).Na narzędzia menu, wybierz opcję opcje..., a następnie rozwiń węzeł narzędzia języka F #.Opcje F # interakcyjne są dwa ustawienia, które można zmienić i 64-bitowych F # interakcyjne ustawienie, które jest odpowiednie tylko w przypadku korzystania z F # interakcyjne komputera 64-bitowej.To ustawienie określa, czy chcesz uruchomić dedykowanych 64-bitowej wersji fsi.exe lub fsianycpu.exe, korzystającą z architekturą komputera do określenia, czy do uruchamiania jako proces 32-bitowy lub 64-bitowej.

Obsługa skryptów F #

Skrypty za pomocą rozszerzenia pliku .fsx lub .fsscript.Zamiast kompilowaniem kodu źródłowego, a następnie uruchamiając skompilowanym zestawie, możesz po prostu uruchomić fsi.exe i określ nazwę pliku skryptu kodu źródłowego F # i F # interakcyjne odczytuje kod i wykonuje go w czasie rzeczywistym.

Różnice między interakcyjne, skryptów i skompilowanego środowiska

Kiedy kompilacja kodu w F # interakcyjne, czy są uruchomione w trybie interakcyjnym lub uruchamianie skryptów, symbol INTERACTIVE jest zdefiniowana.Kiedy kompilacja kodu w kompilatora symbol COMPILED jest zdefiniowana.W związku z tym kod musi się różnić w trybach skompilowany i interaktywne, można użyć preprocessor dyrektywy do kompilacji warunkowej do określenia, której mają zostać użyte.

Niektóre dyrektywy są dostępne, gdy są wykonywanie skryptów w F # interakcyjne nie są dostępne, gdy są wykonywane kompilator.Poniższa tabela zawiera podsumowanie dyrektyw, które są dostępne podczas korzystania z F # interakcyjne.

Dyrektywa

Opis

#help

Wyświetla informacje o dostępnych dyrektyw.

#I

Ścieżka wyszukiwania zestawu w cudzysłowy.

#load

Odczytuje plik źródłowy, kompiluje go i go uruchomi.

#quit

Przerywa F # interakcyjne sesji.

#r

Odwołuje się do zestawu.

#time ["on"|"off"]

Przez siebie #time przełącza, czy mają być wyświetlane informacje o wydajności.Gdy jest włączone, F # interakcyjne mierzy modułowi kolekcji informacje dotyczące każdej sekcji kodu, który jest interpretowany i wykonać, czas procesora CPU i czasu rzeczywistego.

Po określeniu plików lub ścieżki w F # interakcyjne, oczekiwano literałem ciągu.W związku z tym pliki i ścieżki musi się mieścić w znaki cudzysłowu, i stosować normalną znaków.Ponadto można używać znaku w celu wyświetlenia F # interakcyjne do interpretowania ciąg, który zawiera ścieżki jako ciąg verbatim @.Powoduje to, że F # interakcyjne do ignorowania wszystkie znaki ucieczki.

Jednym z różnic między trybem skompilowany i interaktywne jest sposób uzyskać dostęp do argumentów wiersza polecenia.W trybie skompilowany, użyj GetCommandLineArgs.W skryptach, użyj fsi.CommandLineArgs.

Poniższy kod przedstawia sposób tworzy funkcję, która umożliwia odczytanie argumentów wiersza polecenia skryptu i również pokazuje, jak odwoływać się do innego zestawu z skryptu.Pierwszy plik kodu, MyAssembly.fs, jest kod dla zestawu, której dotyczy odwołanie.Kompiluj tego pliku z wiersza polecenia: fsc -a MyAssembly.fs , a następnie wykonaj drugi plik jako skrypt z wiersza polecenia: fsi --exec file1.fsx testowania

// MyAssembly.fs
module MyAssembly
let myFunction x y = x + 2 * y

// file1.fsx
#r "MyAssembly.dll"

printfn "Command line arguments: "

for arg in fsi.CommandLineArgs do
    printfn "%s" arg

printfn "%A" (MyAssembly.myFunction 10 40)

Dane wyjściowe są w następujący sposób:

file1.fsx
test
60

Tematy pokrewne

Tytuł

Opis

Opcje interakcyjne F#

Opisuje składni wiersza polecenia i opcje służące do F # interakcyjne, fsi.exe.

Odwołanie do biblioteki interakcyjnej F#

Opisuje funkcje biblioteki dostępne podczas wykonywania kodu w F # interakcyjne.