Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ez a cikk az F# Interactive fsi.exeáltal támogatott parancssori beállításokat ismerteti. Az F# Interactive számos olyan parancssori beállítást elfogad, mint az F# fordító, de néhány további lehetőséget is elfogad.
Az F# Interactive használata szkriptekhez
Az F# Interaktív dotnet fsiinteraktívan indítható el, vagy a parancssorból indítható el egy szkript futtatásához. A parancssori szintaxis a következő:
dotnet fsi [options] [ script-file [arguments] ]
Az F#-szkriptfájlok fájlkiterjesztése .fsx.
Az F# interaktív beállításainak táblázata
Az alábbi táblázat az F# Interactive által támogatott beállításokat foglalja össze. Ezeket a beállításokat a parancssorban vagy a Visual Studio IDE-n keresztül állíthatja be. Ha meg szeretné adni ezeket a beállításokat a Visual Studio IDE-ben, nyissa meg az Eszközök menüt, válassza a Beállításoklehetőséget, bontsa ki az F# Eszközök csomópontot, majd válassza F# Interaktívlehetőséget.
Ahol a listák megjelennek az F# interaktív beállítás argumentumaiban, a listaelemek pontosvesszővel (;) vannak elválasztva.
| Opció | Leírás |
|---|---|
| -- | Az F# Interactive utasítása a fennmaradó argumentumok parancssori argumentumként való kezelésére az F# program vagy szkript számára, amelyet kódban érhet el az fsi lista használatával. CommandLineArgs. |
| --ellenőrzött[+|-] | Ugyanaz, mint a fsc.exe fordítói opció. További információ: Fordító beállításai. |
| --checknulls[+|-] | Ugyanaz, mint a fsc.exe fordítói opció. További információ: Fordító beállításai. |
| --codepage:<int> | Ugyanaz, mint a fsc.exe fordítói opció. További információ: Fordító beállításai. |
| --consolecolors[+|-] | A kimenetek figyelmeztetései és hibaüzenetei színesek. |
| **--compilertool:<extensionsfolder> | Hivatkozás egy tervezési idejű eszközt tartalmazó összeállításra vagy könyvtárra (rövid forma: -t). |
| --keresztoptimalizál[+|-] | Modulközi optimalizálás engedélyezése vagy letiltása. |
|
--debug[+|-] --debug:[teljes|pdbonly|hordozható|beágyazott] -g[+|-] -g:[teljes|pdbonly|portable|beágyazott] |
Ugyanaz, mint a fsc.exe fordítói opció. További információ: Fordító beállításai. |
| –-define:<string> | Ugyanaz, mint a fsc.exe fordítói opció. További információ: Fordító beállításai. |
| --determinisztikus[+|-] | Determinisztikus szerelvényt hoz létre (beleértve a modul GUID-verzióját és az időbélyeget). |
| --exec | Arra utasítja az F#-t, hogy lépjen ki a fájlok betöltése vagy a parancssorban megadott szkriptfájl futtatása után. |
| --fullpaths | Ugyanaz, mint a fsc.exe fordítói opció. További információ: Fordító beállításai. |
| --gui[+|-] | Engedélyezi vagy letiltja a Windows Forms eseményhurkot. Az alapértelmezett beállítás engedélyezve van. |
|
– súgó -? |
Az egyes beállítások parancssori szintaxisának és rövid leírásának megjelenítésére szolgál. |
|
--lib:<mappalista> -I:<mappalista> |
Ugyanaz, mint a fsc.exe fordítói opció. További információ: Fordító beállításai. |
| --load:<fájlnév> | Az indításkor lefordítja a megadott forráskódot, és betölti a lefordított F#-szerkezeteket a munkamenetbe. |
| --mlcompatibility | Ugyanaz, mint a fsc.exe fordítói opció. További információ: Fordító beállításai. |
| --noframework | Ugyanaz, mint a fsc.exe fordítói opció. További információ: Fordító beállításai |
| --nologo | Ugyanaz, mint a fsc.exe fordítói opció. További információ: Fordító beállításai. |
| --nowarn:<figyelmeztetési lista> | Ugyanaz, mint a fsc.exe fordítói opció. További információ: Fordító beállításai. |
| --optimalizálás[+|-] | Ugyanaz, mint a fsc.exe fordítói opció. További információ: Fordító beállításai. |
| --preferreduilang:<lang> | Megadja az előnyben részesített kimeneti nyelvi kultúra nevét (például es-ES, ja-JP). |
| - csendes | Az F# Interactive kimenetének letiltása a stdout streamben. |
| --idézetek-hibakeresés | Meghatározza, hogy hibakereséshez szükséges extra információkat kell generálni olyan kifejezések számára, amelyek az F# idéző literálokból és a tükrözött definíciókból származnak. A hibakeresési információk hozzá lesznek adva egy F# kifejezésfacsomópont egyéni attribútumaihoz. Lásd: Kódrészletek és Expr.CustomAttributes. |
| --readline[+|-] | Tabulátor kiegészítés engedélyezése vagy letiltása interaktív módban. |
|
--reference:<fájlnév> -r:<fájlnév> |
Ugyanaz, mint a fsc.exe fordítói opció. További információ: Fordító beállításai. |
| --tailcalls[+|-] | Engedélyezze vagy tiltsa le a tail IL utasítás használatát, ami miatt a veremkeret újra felhasználható a farok rekurzív funkcióihoz. Ez a beállítás alapértelmezés szerint engedélyezve van. |
| --targetprofile:<string> | Meghatározza a szerelvény cél-keretrendszerprofilját. Az érvényes értékek a következők: mscorlib, netcorevagy netstandard. Az alapértelmezett érték a mscorlib. |
| –-use:<fájlnév> | Utasítja az értelmezőt, hogy a megadott fájlt használja indításkor kezdeti bemenetként. |
| --utf8output | Ugyanaz, mint a fsc.exe fordítóbeállítás. További információ: Fordító beállításai. |
| --warn:<figyelmeztetési szintű> | Ugyanaz, mint a fsc.exe fordítói opció. További információ: Fordító beállításai. |
| --warnaserror[+|-] | Ugyanaz, mint a fsc.exe fordítói opció. További információ: Fordító beállításai. |
| --warnaserror[+|-]:<int-list> | Ugyanaz, mint a fsc.exe fordítói opció. További információ: Fordító beállításai. |
F# Interaktív strukturált nyomtatás
Az F# Interactive (dotnet fsi) strukturált egyszerű szövegformázási bővített verzióját használja az értékek jelentéséhez.
A
%Aegyszerű szövegformázás minden funkciója támogatott, néhány pedig testre szabható.A nyomtatás színezett, ha a kimeneti konzol támogatja a színeket.
A korlát a megjelenített sztringek hosszára vonatkozik, kivéve, ha explicit módon értékeli ki ezt a sztringet.
A felhasználó által definiálható beállítások készlete a
fsiobjektumon keresztül érhető el.
A jelentett értékek egyszerű szöveges nyomtatásának testreszabásához elérhető beállítások a következők:
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
Testreszabás AddPrinter és AddPrintTransformer
Az F# interaktív kimenetekben való nyomtatás testre szabható fsi.AddPrinter és fsi.AddPrintTransformerhasználatával.
Az első függvény szöveget ad egy objektum nyomtatásának helyére. A második függvény ehelyett egy helyettesítő objektumot ad vissza. Vegyük például a következő F# kódot:
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" }
Ha a példát az F# Interactive-ban hajtja végre, az a formázási beállítások alapján jeleníti meg az eredményt. Ebben az esetben a dátum és az idő formázására van hatással:
type DateAndLabel =
{ Date: DateTime
Label: string }
val newYearsDay1999 : DateAndLabel = { Date = 1999-01-01T00:00:00
Label = "New Year" }
fsi.AddPrintTransformer használható helyettesítő objektum nyomtatásához:
type MyList(values: int list) =
member _.Values = values
fsi.AddPrintTransformer(fun (x:MyList) -> box x.Values)
let x = MyList([1..10])
Ez a kimenet:
val x : MyList = [1; 2; 3; 4; 5; 6; 7; 8; 9; 10]
Ha az fsi.AddPrintTransformer átadott transzformátorfüggvény nullad vissza, akkor a rendszer figyelmen kívül hagyja a nyomtatási transzformátort.
Ezzel szűrheti a bemeneti értékeket a objtípustól kezdve. Például:
fsi.AddPrintTransformer(fun (x:obj) ->
match x with
| :? string as s when s = "beep" -> box ["quack"; "quack"; "quack"]
| _ -> null)
let y = "beep"
Ez a kimenet:
val y : string = ["quack"; "quack"; "quack"]
Kapcsolódó témakörök
| Cím | Leírás |
|---|---|
| Fordító beállításai | Az F# fordítóhoz elérhető parancssori beállításokat ismerteti, fsc.exe. |