Interactieve F#-opties
In dit artikel worden de opdrachtregelopties beschreven die worden ondersteund door F# Interactive, fsi.exe
. F# Interactive accepteert veel van dezelfde opdrachtregelopties als de F#-compiler, maar accepteert ook enkele extra opties.
F# Interactive gebruiken voor scripting
F# Interactive, dotnet fsi
kan interactief worden gestart of kan worden gestart vanaf de opdrachtregel om een script uit te voeren. De opdrachtregelsyntaxis is
dotnet fsi [options] [ script-file [arguments] ]
De bestandsextensie voor F#-scriptbestanden is .fsx
.
Tabel met interactieve F#-opties
De volgende tabel bevat een overzicht van de opties die worden ondersteund door F# Interactive. U kunt deze opties instellen op de opdrachtregel of via de Visual Studio IDE. Als u deze opties in de Visual Studio IDE wilt instellen, opent u het menu Extra, selecteert u Opties, vouwt u het knooppunt F# Extra uit en selecteert u vervolgens F# Interactive.
Waar lijsten worden weergegeven in argumenten voor interactieve F#-opties, worden lijstelementen gescheiden door puntkomma's (;
).
Optie | Omschrijving |
---|---|
-- | Wordt gebruikt om F# Interactive te instrueren om resterende argumenten te behandelen als opdrachtregelargumenten voor het F#-programma of -script, dat u in code kunt openen met behulp van de lijst fsi. CommandLineArgs. |
--checked[+|-] | Hetzelfde als de fsc.exe compileroptie. Zie Compileropties voor meer informatie. |
--codepage:<int> | Hetzelfde als de fsc.exe compileroptie. Zie Compileropties voor meer informatie. |
--consolecolors[+|-] | Waarschuwingen en foutberichten in kleur worden weergegeven. |
**--compilertool:<extensionsfolder> | Verwijzen naar een assembly of map met een ontwerptijdhulpmiddel (korte vorm: -t). |
--crossoptimize[+|-] | Optimalisaties voor meerdere modules in- of uitschakelen. |
--foutopsporing[+|-] --debug:[full|pdbonly|portable|embedded] -g[+|-] -g:[full|pdbonly|portable|embedded] |
Hetzelfde als de fsc.exe compileroptie. Zie Compileropties voor meer informatie. |
--define:<string> | Hetzelfde als de fsc.exe compileroptie. Zie Compileropties voor meer informatie. |
--deterministisch[+|-] | Produceert een deterministische assembly (inclusief GUID van moduleversie en tijdstempel). |
--Uitvoerend | Hiermee wordt F# interactief geïnstrueerd om af te sluiten na het laden van de bestanden of het uitvoeren van het scriptbestand dat is opgegeven op de opdrachtregel. |
--fullpaths | Hetzelfde als de fsc.exe compileroptie. Zie Compileropties voor meer informatie. |
--gui[+|-] | Hiermee schakelt u de Windows Forms-gebeurtenislus in of uit. De standaardwaarde is ingeschakeld. |
--Help -? |
Wordt gebruikt om de opdrachtregelsyntaxis en een korte beschrijving van elke optie weer te geven. |
--lib:<folder-list> -I:<folder-list> |
Hetzelfde als de fsc.exe compileroptie. Zie Compileropties voor meer informatie. |
--load:<bestandsnaam> | Compileert de opgegeven broncode bij het opstarten en laadt de gecompileerde F#-constructies in de sessie. |
--mlcompatibiliteit | Hetzelfde als de fsc.exe compileroptie. Zie Compileropties voor meer informatie. |
--noframework | Hetzelfde als de fsc.exe compileroptie. Zie Compileropties voor meer informatie |
--nologo | Hetzelfde als de fsc.exe compileroptie. Zie Compileropties voor meer informatie. |
--nowarn:<warning-list> | Hetzelfde als de fsc.exe compileroptie. Zie Compileropties voor meer informatie. |
--optimize[+|-] | Hetzelfde als de fsc.exe compileroptie. Zie Compileropties voor meer informatie. |
--preferreduilang:<lang> | Hiermee geeft u de naam van de voorkeurstaalcultuur (bijvoorbeeld es-ES, ja-JP). |
--Rustige | De uitvoer van F# Interactive onderdrukken naar de stdout-stream . |
--offerte-foutopsporing | Hiermee geeft u op dat er extra foutopsporingsgegevens moeten worden verzonden voor expressies die zijn afgeleid van letterlijke F#-aanhalingstekens en definities. De foutopsporingsgegevens worden toegevoegd aan de aangepaste kenmerken van een F#-expressiestructuurknooppunt. Zie Codecitaten en Expr.CustomAttributes. |
--readline[+|-] | Schakel tabvoltooiing in of uit in de interactieve modus. |
--reference:<bestandsnaam> -r:<bestandsnaam> |
Hetzelfde als de fsc.exe compileroptie. Zie Compileropties voor meer informatie. |
--tailcalls[+|-] | Schakel het gebruik van de tail IL-instructie in of uit, waardoor het stackframe opnieuw wordt gebruikt voor recursieve staartfuncties. Deze optie is standaard ingeschakeld. |
--targetprofile:<string> | Hiermee geeft u het doelframeworkprofiel van deze assembly op. Geldige waarden zijn mscorlib , netcore of netstandard . De standaardwaarde is mscorlib . |
--use:<bestandsnaam> | Geeft aan dat de interpreter het opgegeven bestand moet gebruiken bij het opstarten als initiële invoer. |
--utf8output | Hetzelfde als de fsc.exe compileroptie. Zie Compileropties voor meer informatie. |
--waarschuwen:<waarschuwingsniveau> | Hetzelfde als de fsc.exe compileroptie. Zie Compileropties voor meer informatie. |
--warnaserror[+|-] | Hetzelfde als de fsc.exe compileroptie. Zie Compileropties voor meer informatie. |
--warnaserror[+|-]:<int-list> | Hetzelfde als de fsc.exe compileroptie. Zie Compileropties voor meer informatie. |
F# Interactief gestructureerd afdrukken
F# Interactive (dotnet fsi
) maakt gebruik van een uitgebreide versie van gestructureerde tekstopmaak zonder opmaak om waarden te rapporteren.
Alle functies van
%A
tekst zonder opmaak worden ondersteund en sommige functies kunnen ook worden aangepast.Afdrukken wordt gekleurd als kleuren worden ondersteund door de uitvoerconsole.
Er wordt een limiet geplaatst voor de lengte van tekenreeksen die worden weergegeven, tenzij u die tekenreeks expliciet evalueert.
Er is een set door de gebruiker gedefinieerde instellingen beschikbaar via het
fsi
object.
De beschikbare instellingen voor het aanpassen van tekst zonder opmaak voor gerapporteerde waarden zijn:
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
Aanpassen met AddPrinter
en AddPrintTransformer
Afdrukken in F# Interactieve uitvoer kan worden aangepast met behulp van fsi.AddPrinter
en fsi.AddPrintTransformer
.
De eerste functie geeft tekst om het afdrukken van een object te vervangen. De tweede functie retourneert een surrogaatobject dat in plaats daarvan wordt weergegeven. Denk bijvoorbeeld aan de volgende F#-code:
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" }
Als u het voorbeeld in F# Interactive uitvoert, wordt het uitgevoerd op basis van de opmaakoptieset. In dit geval is dit van invloed op de opmaak van datum en tijd:
type DateAndLabel =
{ Date: DateTime
Label: string }
val newYearsDay1999 : DateAndLabel = { Date = 1999-01-01T00:00:00
Label = "New Year" }
fsi.AddPrintTransformer
kan worden gebruikt om een surrogaatobject te geven voor afdrukken:
type MyList(values: int list) =
member _.Values = values
fsi.AddPrintTransformer(fun (x:MyList) -> box x.Values)
let x = MyList([1..10])
Dit levert de volgende uitvoer op:
val x : MyList = [1; 2; 3; 4; 5; 6; 7; 8; 9; 10]
Als de transformatorfunctie wordt doorgegeven om terug te fsi.AddPrintTransformer
keren null
, wordt de afdruktransformatie genegeerd.
Dit kan worden gebruikt om elke invoerwaarde te filteren door te beginnen met het type obj
. Voorbeeld:
fsi.AddPrintTransformer(fun (x:obj) ->
match x with
| :? string as s when s = "beep" -> box ["quack"; "quack"; "quack"]
| _ -> null)
let y = "beep"
Dit levert de volgende uitvoer op:
val y : string = ["quack"; "quack"; "quack"]
Verwante onderwerpen
Title | Beschrijving |
---|---|
Opties voor compileren | Beschrijft opdrachtregelopties die beschikbaar zijn voor de F#-compiler, fsc.exe. |