Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Artikel ini menjelaskan opsi baris perintah yang didukung oleh F# Interactive, fsi.exe. F# Interactive menerima banyak opsi baris perintah yang sama dengan kompilator F#, tetapi juga menerima beberapa opsi tambahan.
Gunakan F# Interactive untuk pembuatan skrip
F# Interactive, dotnet fsi, dapat diluncurkan secara interaktif, atau dapat diluncurkan dari baris perintah untuk menjalankan skrip. Sintaks baris perintah adalah
dotnet fsi [options] [ script-file [arguments] ]
Ekstensi file untuk file skrip F# adalah .fsx.
Tabel Opsi Interaktif F#
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 Visual Studio IDE, buka menu Tools, pilih opsi , perluas F# Tools node, lalu pilih F# Interactive.
Di mana daftar muncul dalam argumen opsi Interaktif F#, elemen daftar dipisahkan oleh titik koma (;).
| Pilihan | Deskripsi |
|---|---|
| -- | Digunakan untuk menginstruksikan F# Interactive untuk memperlakukan argumen yang tersisa sebagai argumen baris perintah ke program atau skrip F#, yang dapat Anda akses dalam kode dengan menggunakan daftar fsi. CommandLineArgs. |
| --diperiksa[+|-] | Sama seperti opsi pengkompilasi fsc.exe. Untuk informasi selengkapnya, lihat Opsi Pengkompilasi. |
| --checknulls[+|-] | Sama seperti opsi pengkompilasi fsc.exe. Untuk informasi selengkapnya, lihat Opsi Pengkompilasi. |
| --codepage:<int> | Sama seperti opsi pengkompilasi fsc.exe. Untuk informasi selengkapnya, lihat Opsi Pengkompilasi. |
| --consolecolors[+|-] | Menghasilkan pesan peringatan dan kesalahan dalam warna. |
| **--compilertool:<extensionsfolder> | Referensikan assembly atau direktori yang berisi alat waktu desain (Bentuk pendek: -t). |
| --crossoptimize[+|-] | Mengaktifkan atau menonaktifkan pengoptimalan lintas modul. |
|
--debug[+|-] --debug:[penuh|pdbonly|portabel|tertanam] -g[+|-] -g:[penuh pdbonly||portabel|tertanam] |
Sama seperti opsi pengkompilasi fsc.exe. Untuk informasi selengkapnya, lihat Opsi Pengkompilasi. |
| --define:<string> | Sama seperti opsi pengkompilasi fsc.exe. Untuk informasi selengkapnya, lihat Opsi Pengkompilasi. |
| --deterministik [+|-] | Menghasilkan kompilasi deterministik (termasuk GUID versi modul dan tanda waktu). |
| --exec | Menginstruksikan F# interaktif untuk keluar setelah memuat file atau menjalankan file skrip yang diberikan pada baris perintah. |
| --fullpaths | Sama seperti opsi pengkompilasi fsc.exe. Untuk informasi selengkapnya, lihat Opsi Pengkompilasi. |
| --gui[+|-] | Mengaktifkan atau menonaktifkan perulangan peristiwa Formulir Windows. Pengaturan awal ini diaktifkan. |
|
--help -? |
Digunakan untuk menampilkan sintaks baris perintah dan deskripsi singkat dari setiap opsi. |
|
--lib:<folder-list> -I:<daftar folder> |
Sama seperti opsi pengkompilasi fsc.exe. Untuk informasi selengkapnya, lihat Opsi Pengkompilasi. |
| --load:<nama file> | Mengkompilasi kode sumber yang diberikan saat startup dan memuat konstruksi F# yang dikompilasi ke dalam sesi. |
| --mlcompatibility | Sama seperti opsi pengkompilasi fsc.exe. Untuk informasi selengkapnya, lihat Opsi Pengkompilasi. |
| --noframework | Sama seperti opsi pengkompilasi fsc.exe. Untuk informasi selengkapnya, lihat Opsi Pengkompilasi |
| --nologo | Sama seperti opsi pengkompilasi fsc.exe. Untuk informasi selengkapnya, lihat Opsi Pengkompilasi. |
| --nowarn:<daftar peringatan> | Sama seperti opsi pengkompilasi fsc.exe. Untuk informasi selengkapnya, lihat Opsi Pengkompilasi. |
| --optimalkan[+|-] | Sama seperti opsi pengkompilasi fsc.exe. Untuk informasi selengkapnya, lihat Opsi Pengkompilasi. |
| --preferreduilang:<bahasa> | Menentukan nama budaya bahasa output pilihan (misalnya, es-ES, ja-JP). |
| -- tenang | Menghilangkan output F# Interactive ke aliran stdout. |
| --quotations-debug | Menentukan bahwa informasi debugging ekstra harus dihasilkan untuk ekspresi yang berasal dari literal kutipan F# dan definisi yang direfleksikan. Informasi debugging ditambahkan ke atribut kustom node pohon ekspresi F#. Lihat Kutipan Kode dan Expr.CustomAttributes. |
| --readline[+|-] | Aktifkan atau nonaktifkan penyelesaian tab dalam mode interaktif. |
|
--reference:<nama file> -r:<nama file> |
Sama seperti opsi pengkompilasi fsc.exe. Untuk informasi selengkapnya, lihat Opsi Pengkompilasi. |
| --tailcalls[+|-] | Aktifkan atau nonaktifkan penggunaan instruksi IL ekor, yang menyebabkan bingkai tumpukan digunakan kembali untuk fungsi rekursif ekor. Opsi ini diaktifkan secara default. |
| --targetprofile:<string> | Menentukan profil kerangka kerja target dari rakitan ini. Nilai yang valid adalah mscorlib, netcore, atau netstandard. Defaultnya adalah mscorlib. |
| --use:<nama file> | Memberi tahu penerjemah untuk menggunakan file yang diberikan saat memulai sebagai input awal. |
| --utf8output | Sama seperti opsi pengkompilasi fsc.exe. Untuk informasi selengkapnya, lihat Opsi Pengkompilasi. |
| --warn:<tingkat peringatan> | Sama seperti opsi pengkompilasi fsc.exe. Untuk informasi selengkapnya, lihat Opsi Pengkompilasi. |
| --warnaserror[+|-] | Sama seperti opsi pengkompilasi fsc.exe. Untuk informasi selengkapnya, lihat Opsi Pengkompilasi. |
| --warnaserror[+|-]:<int-list> | Sama seperti opsi pengkompilasi fsc.exe. Untuk informasi selengkapnya, lihat Opsi Pengkompilasi. |
F# Pencetakan terstruktur interaktif
F# Interactive (dotnet fsi) menggunakan versi yang diperluas dari pemformatan teks biasa terstruktur untuk melaporkan nilai.
Semua fitur pemformatan teks biasa
%Adidukung, dan beberapa juga dapat disesuaikan.Pencetakan akan berwarna jika konsol output mendukung warna.
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
Menyesuaikan dengan AddPrinter dan AddPrintTransformer
Dalam output F# Interaktif, pencetakan dapat disesuaikan dengan menggunakan fsi.AddPrinter dan fsi.AddPrintTransformer.
Fungsi pertama memberi teks untuk menggantikan pencetakan objek. Fungsi kedua mengembalikan objek pengganti untuk ditampilkan sebagai gantinya. Misalnya, pertimbangkan 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, itu menghasilkan berdasarkan kumpulan opsi pemformatan. Dalam hal ini, 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 untuk 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, maka transformator cetak diabaikan.
Ini dapat digunakan untuk memfilter nilai input apa pun dengan memulai dengan 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
| Titel | Deskripsi |
|---|---|
| Opsi Pengkompilasi | Menjelaskan opsi baris perintah yang tersedia untuk pengkompilasi F#, fsc.exe. |