Sdílet prostřednictvím


Interaktivní referenční dokumentace F# (fsi.exe)

Program F# Interactive (fsi.exe) se používá pro interaktivní spuštění kódu jazyka F# v konzole nebo pro spuštění skriptů jazyka F#.Jinými slovy, interaktivní jazyk F# provede operace REPL (čtení, vyhodnocení, smyčka tisku) pro jazyk F#.

Interaktivní programování s jazykem F#

Pomocí jazyka F# Interactive lze napsat kód v konzole nebo v okně sady Visual Studio.

Chcete-li spustit jazyk F# Interactive z konzoly, spusťte program fsi.exe.Fsi.exe se nachází v "c:\Program Files (x 86) \Microsoft SDKs\F# \ < verze > \Framework\ < verze > \".Další informace o dostupných možnostech příkazového řádku naleznete v tématu Interaktivní možnosti F#.

Chcete-li jazyk F# Interactive spustit v sadě Visual Studio, klikněte na odpovídající tlačítko na panelu nástrojů označené F# Interactive nebo použijte kombinaci kláves Ctrl+Alt+F.Tím otevřete interaktivní okno nástroje, ve kterém běží relace jazyka F# Interactive.Lze také vybrat část kódu, kterou chcete spustit v interaktivním okně, a stisknout kombinaci kláves ALT+ENTER.Jazyk F# Interactive se spustí v okně nástroje s názvem F# Interactive.Použijete-li tuto kombinaci kláves, ujistěte se, že má okno editoru fokus.

Pokud používáte konzolu nebo sadu Visual Studio, zobrazí se příkazový řádek a překladač čeká na zadání.Zde je možné zadat kód stejně jako v souboru kódu.Chcete-li kód zkompilovat a spustit, zadáním dvou středníků (;;) ukončete řádek nebo několik řádků vstupu.

Jazyk F# Interactive se pokusí zkompilovat kód a v případě úspěchu kód spustí a vytiskne podpis zkompilovaných typů a hodnot.Pokud dojde k chybám, překladač vytiskne chybové zprávy.

Kód zadaný ve stejné relaci má přístup k libovolné konstrukci zadané dříve, takže lze sestavit programy.Rozsáhlá vyrovnávací paměť okna nástroje umožňuje v případě potřeby zkopírovat kód do souboru.

Při spuštění v sadě Visual Studio se jazyk F# Interactive spustí nezávisle na projektu, tedy například nelze použít konstrukce definované v projektu v jazyce F# Interactive, pokud nezkopírujete kód této funkce do interaktivního okna.

Máte-li otevřen projekt, který odkazuje na některé knihovny, lze se na tyto knihovny v jazyce F# Interactive odkazovat prostřednictvím Průzkumníku řešení.Chcete-li se v jazyce F# Interactive odkazovat na knihovnu, rozbalte uzel Odkazy, otevřete místní nabídku knihovny a vyberte Zaslat do F# Interactive.

Argumenty příkazového řádku (možnosti) jazyka F# Interactive lze řídit úpravou nastavení.V nabídce Nástroje vyberte volbu Možnosti... a poté rozbalte uzel Nástroje F#.Dvě nastavení, která lze změnit, jsou možnosti jazyka F# Interactive a nastavení 64bitový jazyk F# Interactive, jež jsou relevantní pouze v případě, že používáte jazyk F# Interactive v 64bitovém počítači.Toto nastavení určuje, zda chcete spustit vyhrazenou 64bitovou verzi programu fsi.exe nebo fsianycpu.exe, který pomocí architektury počítače určí, zda se má spustit jako 32bitový nebo 64bitový proces.

Skriptování pomocí jazyka F#

Skripty používají příponu souboru .fsx nebo .fsscript.Namísto zkompilování zdrojového kódu a následného spuštění zkompilovaného sestavení lze pouze spustit program fsi.exe a zadat název souboru skriptu zdrojového kódu jazyka F#, načež jazyk F# Interactive tento kód načte a spustí v reálném čase.

Rozdíly mezi interaktivním, skriptovacím a kompilovaným prostředím

Při kompilaci kódu jazyka F# Interactive – ať jej spustíte interaktivně nebo spustíte skript – je definován symbol INTERACTIVE.Když kód zkompilujete kompilátorem, je definován symbol COMPILED.Pokud tedy kód potřebujete v kompilovaném a interaktivním režimu odlišit, lze pomocí direktivy preprocesoru podmíněné kompilace určit, který kód chcete použít.

Některé direktivy, které jsou k dispozici při spuštění skriptů v jazyce F# Interactive, nejsou k dispozici, pokud jsou spuštěny kompilátorem.Následující tabulka uvádí direktivy, které jsou k dispozici při použití jazyka F# Interactive.

Direktiva

Popis

#help

Zobrazí informace o dostupných direktivách.

#I

Určí vyhledávací cestu k sestavení v uvozovkách.

#load

Přečte zdrojový soubor, zkompiluje jej a spustí.

#quit

Ukončí relaci jazyka F# Interactive.

#r

Odkazuje na sestavení.

#time ["on"|"off"]

Samotná direktiva #time určuje, zda se mají zobrazit informace o výkonu.Pokud je povolena, jazyk F# Interactive měří reálný čas, čas procesoru a informace uvolňování paměti pro každou část kódu, která je interpretována a spuštěna.

Pokud v jazyce F# Interactive určíte soubory nebo cesty, očekává se textový literál.Proto musí být soubory a cesty v uvozovkách a musí být použity obvyklé řídicí znaky.Lze také použít znak @, který způsobí, že jazyk F# Interactive interpretuje řetězec obsahující cestu jako doslovný řetězec.To způsobí, že jazyk F# Interactive ignoruje jakékoli řídicí znaky.

Jedním z rozdílů mezi kompilovaným a interaktivním režimem je způsob přístupu k argumentům příkazového řádku.V kompilovaném režimu použijte metodu GetCommandLineArgs.Ve skriptech použijte fsi.CommandLineArgs.

Následující kód ukazuje, jak vytvořit funkci, která čte argumenty příkazového řádku ve skriptu, a také ukazuje, jak ze skriptu odkazovat na jiné sestavení.První soubor kódu, MyAssembly.fs, je kód sestavení, na které se odkazuje.Zkompilujte tento soubor z příkazového řádku, fsc -a MyAssembly.fs, a poté z příkazového řádku spusťte druhý soubor jako skript, fsi --exec file1.fsx test.

// 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)

Výstup je následující:

file1.fsx
test
60

Související témata

Název

Popis

Interaktivní možnosti F#

Popisuje syntaxi příkazového řádku a možnosti programu fsi.exe jazyka F# Interactive.

Interaktivní referenční dokumentace knihovny F#

Popisuje funkce knihovny, které jsou k dispozici při spuštění kódu v jazyce F# Interactive.