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 ji můžete spustit z příkazového řádku a spustit skript. Syntaxe příkazového řádku je
dotnet fsi [options] [ script-file [arguments] ]
Přípona souboru pro soubory skriptu jazyka 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 Nástroje F# a pak vyberte 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 jazyku F# Interactive, aby se zbývající argumenty řídily jako argumenty příkazového řádku programu nebo skriptu 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. |
--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> | Odkaz na sestavení nebo adresář obsahující nástroj pro čas návrhu (Krátký formulář: -t). |
--crossoptimize[+|-] | Povolte nebo zakažte optimalizace napříč moduly. |
--debug[+|-] --debug:[full|pdbonly|portable|embedded] -g[+|-] -g:[full|pdbonly|portable|embedded] |
Stejné jako možnost kompilátoru fsc.exe . Další informace naleznete v tématu Možnosti kompilátoru. |
--define:<string> | Stejné jako možnost kompilátoru fsc.exe . Další informace naleznete v tématu Možnosti kompilátoru. |
--deterministic[+|-] | Vytvoří deterministické sestavení (včetně identifikátoru GUID verze modulu a časového razítka). |
--Exec | Dává jazyku F# interactive pokyn, aby se po načtení souborů nebo spuštění souboru skriptu zadaného na příkazovém řádku ukončil. |
--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í model Windows Forms. Výchozí hodnota je povolená. |
--Pomoc -? |
Používá se k zobrazení syntaxe příkazového řádku a stručného popisu jednotlivých možností. |
--lib:<folder-list> -I:<folder-list> |
Stejné jako možnost kompilátoru fsc.exe . Další informace naleznete v tématu Možnosti kompilátoru. |
--load:<filename> | Zkompiluje daný zdrojový kód při spuštění a načte kompilované konstruktory 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 naleznete 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:<warning-list> | 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ýstupního jazyka (například es-ES, ja-JP). |
--Tichý | Potlačte výstup F# Interactive do streamu stdout . |
--uvozovky-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 se přidají do vlastních atributů uzlu stromu výrazů jazyka F#. Viz Citace kódu a Výraz.CustomAttributes. |
--readline[+|-] | Povolte nebo zakažte dokončování tabulátoru v interaktivním režimu. |
--reference:<filename> -r:<filename> |
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:<string> | Určuje profil cílové architektury tohoto sestavení. Platné hodnoty jsou mscorlib , netcore nebo netstandard . Výchozí hodnota je mscorlib . |
--use:<filename> | Ř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:<warning-level> | 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[+|-]:<int-list> | Stejné jako možnost kompilátoru fsc.exe . Další informace naleznete v tématu Možnosti kompilátoru. |
F# Interactive strukturovaný tisk
F# Interactive (dotnet fsi
) používá rozšířenou verzi formátování strukturovaného prostého textu na hodnoty sestavy.
Podporují se všechny funkce formátování prostého
%A
textu a některé jsou navíc přizpůsobitelné.Tisk je barevný, pokud výstupní konzola podporuje barvy.
Limit se umístí na délku zobrazených řetězců, pokud ho explicitně neohodnotíte.
Prostřednictvím objektu
fsi
je k dispozici sada uživatelsky definovatelných nastavení.
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í a fsi.AddPrinter
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])
Výstup bude následující:
val x : MyList = [1; 2; 3; 4; 5; 6; 7; 8; 9; 10]
Pokud se funkce transformátoru předala k fsi.AddPrintTransformer
vrácení null
, pak je tištěný transformátor ignorován.
To lze použít k filtrování libovolné vstupní hodnoty začínající na typ obj
. Příklad:
fsi.AddPrintTransformer(fun (x:obj) ->
match x with
| :? string as s when s = "beep" -> box ["quack"; "quack"; "quack"]
| _ -> null)
let y = "beep"
Výstup bude následující:
val y : string = ["quack"; "quack"; "quack"]
Příbuzná témata
Titulek | Popis |
---|---|
Možnosti kompilátoru | Popisuje možnosti příkazového řádku dostupné pro kompilátor jazyka F# fsc.exe. |