Opsi Interaktif F#
Artikel ini menjelaskan opsi baris perintah yang didukung oleh F# Interactive, fsi.exe
. F# Interactive menerima banyak opsi baris perintah yang sama dengan pengompilasi F#, tetapi juga menerima beberapa opsi tambahan.
Menggunakan F# Interactive untuk pembuatan skrip
F# Interaktif, dotnet fsi
, dapat diluncurkan secara interaktif, atau dapat diluncurkan dari baris perintah untuk menjalankan sebuah skrip. Sintaks baris perintah adalah
dotnet fsi [options] [ script-file [arguments] ]
Ekstensi file untuk file skrip F# adalah .fsx
.
Tabel Opsi F# Interactive
Tabel berikut ini meringkas opsi yang didukung oleh F# Interactive. Anda dapat mengatur opsi ini pada baris perintah atau melalui IDE Visual Studio. Untuk mengatur opsi ini di IDE Visual Studio, buka menu Tools (Alat), pilih Options (Opsi), perluas simpul F# Tools (Alat F#), lalu pilih F# Interactive.
Tempat daftar muncul dalam argumen opsi F# Interactive, elemen daftar dipisahkan oleh titik koma (;
).
Opsi | Deskripsi |
---|---|
-- | Digunakan guna menginstruksikan F# Interactive untuk memperlakukan argumen yang tersisa sebagai argumen baris perintah ke program atau skrip F#, yang dapat Anda akses dalam kode menggunakan daftar fsi.CommandLineArgs. |
--checked[+|-] | Sama seperti opsi pengompilasi fsc.exe. Untuk informasi selengkapnya, lihat Opsi Kompilator. |
--codepage:<int> | Sama seperti opsi pengompilasi fsc.exe. Untuk informasi selengkapnya, lihat Opsi Kompilator. |
--consolecolors[+|-] | Menghasilkan pesan peringatan dan kesalahan berwarna. |
**--compilertool:<extensionsfolder> | Referensikan rakitan atau direktori yang berisi alat waktu desain (Bentuk pendek: -t). |
--crossoptimize[+|-] | Mengaktifkan atau menonaktifkan pengoptimalan lintas modul. |
--debug[+|-] --debug:[full|pdbonly|portable|embedded] -g[+|-] -g:[full|pdbonly|portable|embedded] |
Sama seperti opsi pengompilasi fsc.exe. Untuk informasi selengkapnya, lihat Opsi Kompilator. |
--define:<string> | Sama seperti opsi pengompilasi fsc.exe. Untuk informasi selengkapnya, lihat Opsi Kompilator. |
--deterministic[+|-] | Menghasilkan rakitan deterministik (termasuk GUID versi modul dan stempel waktu). |
--exec | Menginstruksikan F# Interaktive untuk keluar setelah memuat file atau menjalankan file skrip yang diberikan pada baris perintah. |
--fullpaths | Sama seperti opsi pengompilasi fsc.exe. Untuk informasi selengkapnya, lihat Opsi Kompilator. |
--gui[+|-] | Mengaktifkan atau menonaktifkan perulangan peristiwa Formulir Windows. Defaultnya diaktifkan. |
--help -? |
Digunakan untuk menampilkan sintaks baris perintah dan deskripsi singkat setiap opsi. |
--lib:<folder-list> -I:<folder-list> |
Sama seperti opsi pengompilasi fsc.exe. Untuk informasi selengkapnya, lihat Opsi Kompilator. |
--load:<filename> | Mengompilasi kode sumber yang diberikan saat startup dan memuat konstruksi F# yang dikompilasi ke dalam sesi. |
--mlcompatibility | Sama seperti opsi pengompilasi fsc.exe. Untuk informasi selengkapnya, lihat Opsi Kompilator. |
--noframework | Sama seperti opsi pengompilasi fsc.exe. Untuk informasi selengkapnya, lihat Opsi Pengompilasi. |
--nologo | Sama seperti opsi pengompilasi fsc.exe. Untuk informasi selengkapnya, lihat Opsi Kompilator. |
--nowarn:<warning-list> | Sama seperti opsi pengompilasi fsc.exe. Untuk informasi selengkapnya, lihat Opsi Kompilator. |
--optimize[+|-] | Sama seperti opsi pengompilasi fsc.exe. Untuk informasi selengkapnya, lihat Opsi Kompilator. |
--preferreduilang:<lang> | Menentukan nama budaya bahasa pemrogram output pilihan (misalnya, es-ES, ja-JP). |
--quiet | Menekan output F# Interactive ke aliran stdout. |
--quotations-debug | Menentukan bahwa informasi penelusuran kesalahan tambahan harus dimunculkan untuk ekspresi yang berasal dari harfiah kutipan F# dan definisi yang tercermin. Informasi penelusuran kesalahan ditambahkan ke atribut kustom dari simpul pohon ekspresi F#. Lihat Kutipan Kode dan Expr.CustomAttributes. |
--readline[+|-] | Mengaktifkan atau menonaktifkan penyelesaian tab dalam mode interaktif. |
--reference:<filename> -r:<filename> |
Sama seperti opsi pengompilasi fsc.exe. Untuk informasi selengkapnya, lihat Opsi Kompilator. |
--tailcalls[+|-] | Mengaktifkan atau menonaktifkan penggunaan instruksi bahasa perantara ekor, yang menyebabkan bingkai tumpukan digunakan kembali untuk fungsi rekursif ekor. Pemadatan diaktifkan secara default. |
--targetprofile:<string> | Menentukan profil kerangka kerja target dari rakitan ini. Nilai yang valid adalah mscorlib , netcore , atau netstandard . Default adalah mscorlib . |
--use:<filename> | Memberi tahu penerjemah untuk menggunakan file yang diberikan pada startup sebagai input awal. |
--utf8output | Sama seperti opsi pengompilasi fsc.exe. Untuk informasi selengkapnya, lihat Opsi Kompilator. |
--warn:<warning-level> | Sama seperti opsi pengompilasi fsc.exe. Untuk informasi selengkapnya, lihat Opsi Kompilator. |
--warnaserror[+|-] | Sama seperti opsi pengompilasi fsc.exe. Untuk informasi selengkapnya, lihat Opsi Kompilator. |
--warnaserror[+|-]:<int-list> | Sama seperti opsi pengompilasi fsc.exe. Untuk informasi selengkapnya, lihat Opsi Kompilator. |
Pencetakan terstruktur F# Interactive
F# Interactive (dotnet fsi
) menggunakan versi ekstensi pemformatan teks biasa terstruktur untuk melaporkan nilai.
Semua fitur pemformatan teks biasa
%A
didukung, dan beberapa fitur juga dapat disesuaikan.Pencetakan diberi warna jika warna didukung oleh konsol output.
Batas ditempatkan pada panjang string yang ditampilkan, kecuali Anda secara eksplisit mengevaluasi string tersebut.
Sekumpulan pengaturan yang dapat ditentukan pengguna tersedia melalui objek
fsi
.
Pengaturan yang tersedia untuk menyesuaikan pencetakan teks biasa untuk nilai yang dilaporkan adalah:
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
Kustomisasi dengan AddPrinter
dan AddPrintTransformer
Pencetakan dalam output F# Interactive dapat disesuaikan menggunakan fsi.AddPrinter
dan fsi.AddPrintTransformer
.
Fungsi pertama memberikan teks untuk menggantikan pencetakan objek. Fungsi kedua mengembalikan objek pengganti untuk ditampilkan sebagai gantinya. Sebagai contoh, perhatikan kode F# berikut:
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" }
Jika Anda menjalankan contoh di F# Interactive, hasilnya didasarkan pada kumpulan opsi pemformatan. Di sini, hal ini memengaruhi pemformatan tanggal dan waktu:
type DateAndLabel =
{ Date: DateTime
Label: string }
val newYearsDay1999 : DateAndLabel = { Date = 1999-01-01T00:00:00
Label = "New Year" }
fsi.AddPrintTransformer
dapat digunakan untuk memberikan objek pengganti bagi pencetakan:
type MyList(values: int list) =
member _.Values = values
fsi.AddPrintTransformer(fun (x:MyList) -> box x.Values)
let x = MyList([1..10])
Output ini:
val x : MyList = [1; 2; 3; 4; 5; 6; 7; 8; 9; 10]
Jika fungsi transformator yang diteruskan ke fsi.AddPrintTransformer
mengembalikan null
, transformator cetak akan diabaikan.
Ini dapat digunakan untuk memfilter semua nilai input dengan memulai menggunakan jenis obj
. Misalnya:
fsi.AddPrintTransformer(fun (x:obj) ->
match x with
| :? string as s when s = "beep" -> box ["quack"; "quack"; "quack"]
| _ -> null)
let y = "beep"
Output ini:
val y : string = ["quack"; "quack"; "quack"]
Topik terkait
Judul | Deskripsi |
---|---|
Opsi Kompilator | Menjelaskan opsi baris perintah yang tersedia untuk pengompilasi F#, fsc.exe. |
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk