Sdílet prostřednictvím


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 fsilze 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, netcorenebo 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.

  1. Podporují se všechny funkce formátování prostého %A textu a některé jsou navíc přizpůsobitelné.

  2. Tisk je barevný, pokud výstupní konzola podporuje barvy.

  3. Limit se umístí na délku zobrazených řetězců, pokud ho explicitně neohodnotíte.

  4. 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.AddPrinterfsi.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"]
Titulek Popis
Možnosti kompilátoru Popisuje možnosti příkazového řádku dostupné pro kompilátor jazyka F# fsc.exe.