Možnosti F# Interactive
Tento článek popisuje možnosti příkazového řádku podporované jazykem F# Interactive, fsi.exe
. F# Interactive přijímá mnoho stejných možností příkazového řádku jako kompilátor F#, ale také přijímá některé další možnosti.
Použití jazyka F# Interactive pro skriptování
F# Interactive, dotnet fsi
, lze spustit interaktivně, nebo lze spustit z příkazového řádku ke spuštění skriptu. Syntaxe příkazového řádku je
dotnet fsi [options] [ script-file [arguments] ]
Přípona souboru pro soubory skriptu F# je .fsx
.
Tabulka interaktivních možností jazyka F#
Následující tabulka shrnuje možnosti podporované jazykem F# Interactive. Tyto možnosti můžete nastavit na příkazovém řádku nebo prostřednictvím integrovaného vývojového prostředí sady Visual Studio. Pokud chcete tyto možnosti nastavit v integrovaném vývojovém prostředí sady Visual Studio, otevřete nabídku Nástroje, vyberte Možnosti, rozbalte uzel F# nástroje a zvolte F# Interactive.
Kde se seznamy zobrazují v argumentech možností F# Interactive, jsou prvky seznamu oddělené středníky (;
).
Možnost | Popis |
---|---|
-- | Používá se k pokynu F# Interactive, aby zbývající argumenty zpracovával jako argumenty příkazového řádku pro program nebo skript jazyka F#, ke kterým můžete přistupovat v kódu pomocí seznamu fsi. CommandLineArgs. |
--checked[+|-] | Stejné jako možnost kompilátoru fsc.exe. Další informace naleznete v tématu Možnosti kompilátoru. |
--checknulls[+|-] | Stejné jako možnost kompilátoru fsc.exe. Další informace naleznete v tématu Možnosti kompilátoru. |
--codepage:<int> | Stejné jako možnost kompilátoru fsc.exe. Další informace naleznete v tématu Možnosti kompilátoru. |
--consolecolors[+|-] | Vypíše upozornění a chybové zprávy barevně. |
**---compilertool:<extensionsfolder> | Odkázat na sestavení nebo adresář obsahující nástroj pro dobu návrhu (zkrácená forma: -t). |
--crossoptimize[+|-] | Povolte nebo zakažte optimalizace napříč moduly. |
--debug[+|-] --debug:[plný|pdbonly|přenosný|zapouzdřený] -g[+|-] -g:[plné||přenosné|vložené] |
Stejné jako možnost kompilátoru fsc.exe. Další informace naleznete v tématu Možnosti kompilátoru. |
--define:<řetězec> | Stejné jako možnost kompilátoru fsc.exe. Další informace naleznete v tématu Možnosti kompilátoru. |
--deterministický[+|-] | Vytvoří deterministické sestavení (včetně identifikátoru GUID verze modulu a časového razítka). |
--exec | Instruuje F# interactive, aby se ukončil po načtení souborů nebo spuštění souboru skriptu poskytnutého na příkazovém řádku. |
--fullpaths | Stejné jako možnost kompilátoru fsc.exe. Další informace naleznete v tématu Možnosti kompilátoru. |
--gui[+|-] | Povolí nebo zakáže smyčku událostí Windows Forms. Výchozí hodnota je povolená. |
--help -? |
Používá se k zobrazení syntaxe příkazového řádku a stručného popisu jednotlivých možností. |
--lib:<seznamu složek> -I:<seznam složek> |
Stejné jako možnost kompilátoru fsc.exe. Další informace naleznete v tématu Možnosti kompilátoru. |
--load:<název souboru> | Zkompiluje daný zdrojový kód při spuštění a načte kompilované konstrukty jazyka F# do relace. |
--mlcompatibility | Stejné jako možnost kompilátoru fsc.exe. Další informace naleznete v tématu Možnosti kompilátoru. |
--noframework | Stejné jako možnost kompilátoru fsc.exe. Další informace najdete v tématu Možnosti kompilátoru |
--nologo | Stejné jako možnost kompilátoru fsc.exe. Další informace naleznete v tématu Možnosti kompilátoru. |
--nowarn:<seznamu upozornění> | Stejné jako možnost kompilátoru fsc.exe. Další informace naleznete v tématu Možnosti kompilátoru. |
--optimize[+|-] | Stejné jako možnost kompilátoru fsc.exe. Další informace naleznete v tématu Možnosti kompilátoru. |
--preferreduilang:<lang> | Určuje upřednostňovaný název jazykové verze výstupu (například es-ES, ja-JP). |
--quiet | Potlačit výstup jazyka F# Interactive na datový proud stdout. |
--quotations-debug | Určuje, že by se měly pro výrazy odvozené z uvozovek F# generovat dodatečné informace o ladění a promítat definice. Ladicí informace jsou přidány do vlastních atributů uzlu stromu výrazů jazyka F#. Viz Kódové citace a Expr.CustomAttributes. |
--readline[+|-] | Povolte nebo zakažte automatické doplňování pomocí klávesy Tab v interaktivním režimu. |
--reference:<název souboru> -r:<název souboru> |
Stejné jako možnost kompilátoru fsc.exe. Další informace naleznete v tématu Možnosti kompilátoru. |
--tailcalls[+|-] | Povolte nebo zakažte použití koncové instrukce IL, což způsobí opětovné použití rámce zásobníku pro rekurzivní funkce tail. Tato možnost je ve výchozím nastavení povolená. |
--targetprofile:<řetězcový> | Určuje profil cílové architektury tohoto sestavení. Platné hodnoty jsou mscorlib , netcore nebo netstandard . Výchozí hodnota je mscorlib . |
--use:<název souboru> | Řekne interpretovi, aby jako počáteční vstup použil daný soubor při spuštění. |
--utf8output | Stejné jako možnost kompilátoru fsc.exe. Další informace naleznete v tématu Možnosti kompilátoru. |
--warn:<úroveň upozornění> | Stejné jako možnost kompilátoru fsc.exe. Další informace naleznete v tématu Možnosti kompilátoru. |
--warnaserror[+|-] | Stejné jako možnost kompilátoru fsc.exe. Další informace naleznete v tématu Možnosti kompilátoru. |
--warnaserror[+|-]:<seznam celých čísel> | Stejné jako možnost kompilátoru fsc.exe. Další informace naleznete v tématu Možnosti kompilátoru. |
F# interaktivní strukturovaný tisk
F# Interactive (dotnet fsi
) používá rozšířenou verzi formátování strukturovaného prostého textu k hlášení hodnot.
Podporují se všechny funkce
%A
formátování prostého textu a některé jsou navíc přizpůsobitelné.Tisk je barevný, pokud výstupní konzola podporuje barvy.
Je stanoven limit na délky zobrazených řetězců, pokud ten řetězec explicitně nevyhodnotíte.
Sada uživatelsky definovatelných nastavení je k dispozici prostřednictvím
fsi
objektu.
Dostupná nastavení pro přizpůsobení tisku ve formátu prostého textu pro ohlášené hodnoty jsou:
open System.Globalization
fsi.FormatProvider <- CultureInfo("de-DE") // control the default culture for primitives
fsi.PrintWidth <- 120 // Control the width used for structured printing
fsi.PrintDepth <- 10 // Control the maximum depth of nested printing
fsi.PrintLength <- 10 // Control the length of lists and arrays
fsi.PrintSize <- 100 // Control the maximum overall object count
fsi.ShowProperties <- false // Control whether properties of .NET objects are shown by default
fsi.ShowIEnumerable <- false // Control whether sequence values are expanded by default
fsi.ShowDeclarationValues <- false // Control whether values are shown for declaration outputs
Přizpůsobení pomocí AddPrinter
a AddPrintTransformer
Tisk ve výstupech F# Interactive lze přizpůsobit pomocí fsi.AddPrinter
a fsi.AddPrintTransformer
.
První funkce poskytuje text, který nahradí tisk objektu. Druhá funkce vrátí náhradní objekt, který se místo toho zobrazí. Představte si například následující kód jazyka F#:
open System
fsi.AddPrinter<DateTime>(fun dt -> dt.ToString("s"))
type DateAndLabel =
{ Date: DateTime
Label: string }
let newYearsDay1999 =
{ Date = DateTime(1999, 1, 1)
Label = "New Year" }
Pokud spustíte příklad v F# Interactive, zobrazí se výstup založený na sadě možností formátování. V tomto případě má vliv na formátování data a času:
type DateAndLabel =
{ Date: DateTime
Label: string }
val newYearsDay1999 : DateAndLabel = { Date = 1999-01-01T00:00:00
Label = "New Year" }
fsi.AddPrintTransformer
lze použít k poskytnutí náhradního objektu pro tisk:
type MyList(values: int list) =
member _.Values = values
fsi.AddPrintTransformer(fun (x:MyList) -> box x.Values)
let x = MyList([1..10])
Tohle je výstup:
val x : MyList = [1; 2; 3; 4; 5; 6; 7; 8; 9; 10]
Pokud funkce transformátoru předaná fsi.AddPrintTransformer
vrátí null
, bude transformátor pro tisk ignorován.
To lze použít k filtrování libovolné vstupní hodnoty tak, že začíná typem obj
. Například:
fsi.AddPrintTransformer(fun (x:obj) ->
match x with
| :? string as s when s = "beep" -> box ["quack"; "quack"; "quack"]
| _ -> null)
let y = "beep"
Toto vypíše:
val y : string = ["quack"; "quack"; "quack"]
Související témata
Titul | Popis |
---|---|
možnosti kompilátoru | Popisuje možnosti příkazového řádku dostupné pro kompilátor jazyka F# fsc.exe. |