F# Etkileşimli seçenekler
Bu makalede F# Interactive, fsi.exe
tarafından desteklenen komut satırı seçenekleri açıklanmaktadır. F# Etkileşimli, F# derleyicisi ile aynı komut satırı seçeneklerinin çoğunu kabul eder, ancak bazı ek seçenekleri de kabul eder.
Betik oluşturma için F# Interactive kullanma
F# Interactive, dotnet fsi
, etkileşimli olarak başlatılabilir veya komut satırından betik çalıştırmak için başlatılabilir. Komut satırı söz dizimi şu şekildedir:
dotnet fsi [options] [ script-file [arguments] ]
F# betik dosyalarının dosya uzantısıdır .fsx
.
F# Etkileşimli Seçenekler Tablosu
Aşağıdaki tabloda F# Interactive tarafından desteklenen seçenekler özetlenmiştir. Bu seçenekleri komut satırında veya Visual Studio IDE aracılığıyla ayarlayabilirsiniz. Visual Studio IDE'de bu seçenekleri ayarlamak için Araçlar menüsünü açın, Seçenekler'i seçin, F# Araçları düğümünü genişletin ve F# Etkileşimli'yi seçin.
F# Etkileşimli seçenek bağımsız değişkenlerinde listeler göründüğünde, liste öğeleri noktalı virgülle (;
) ayrılır.
Seçenek | Açıklama |
---|---|
-- | F# Etkileşimli'ye, fsi listesini kullanarak kodda erişebileceğiniz F# programı veya betiğinde kalan bağımsız değişkenleri komut satırı bağımsız değişkenleri olarak ele alma talimatı vermek için kullanılır. CommandLineArgs. |
--checked[+|-] | fsc.exe derleyici seçeneğiyle aynı. Daha fazla bilgi için bkz . Derleyici Seçenekleri. |
--codepage:<int> | fsc.exe derleyici seçeneğiyle aynı. Daha fazla bilgi için bkz . Derleyici Seçenekleri. |
--consolecolors[+|-] | Uyarı ve hata iletilerini renkli olarak çıkışlar. |
**--compilertool:<extensionsfolder> | Tasarım zaman aracı içeren bir derlemeye veya dizine başvurun (Kısa form: -t). |
--crossoptimize[+|-] | Modüller arası iyileştirmeleri etkinleştirin veya devre dışı bırakın. |
--debug[+|-] --debug:[tam|pdbonly|taşınabilir|katıştırılmış] -g[+|-] -g:[tam|pdbonly|taşınabilir|katıştırılmış] |
fsc.exe derleyici seçeneğiyle aynı. Daha fazla bilgi için bkz . Derleyici Seçenekleri. |
--define:<string> | fsc.exe derleyici seçeneğiyle aynı. Daha fazla bilgi için bkz . Derleyici Seçenekleri. |
--deterministic[+|-] | Belirleyici bir derleme (modül sürümü GUID'si ve zaman damgası dahil) oluşturur. |
--Exec | F# etkileşimli'ye, dosyaları yükledikten veya komut satırında verilen betik dosyasını çalıştırdıktan sonra çıkmasını ister. |
--fullpaths | fsc.exe derleyici seçeneğiyle aynı. Daha fazla bilgi için bkz . Derleyici Seçenekleri. |
--gui[+|-] | Windows Forms olay döngüsünü etkinleştirir veya devre dışı bırakır. Varsayılan etkindir. |
--Yardım -? |
Komut satırı söz dizimini ve her seçeneğin kısa açıklamasını görüntülemek için kullanılır. |
--lib:<folder-list> -I:<folder-list> |
fsc.exe derleyici seçeneğiyle aynı. Daha fazla bilgi için bkz . Derleyici Seçenekleri. |
--load:<filename> | Başlangıçta verilen kaynak kodunu derler ve derlenmiş F# yapılarını oturuma yükler. |
--mlcompatibility | fsc.exe derleyici seçeneğiyle aynı. Daha fazla bilgi için bkz . Derleyici Seçenekleri. |
--noframework | fsc.exe derleyici seçeneğiyle aynı. Daha fazla bilgi için bkz. Derleyici Seçenekleri |
--nologo | fsc.exe derleyici seçeneğiyle aynı. Daha fazla bilgi için bkz . Derleyici Seçenekleri. |
--nowarn:<warning-list> | fsc.exe derleyici seçeneğiyle aynı. Daha fazla bilgi için bkz . Derleyici Seçenekleri. |
--optimize[+|-] | fsc.exe derleyici seçeneğiyle aynı. Daha fazla bilgi için bkz . Derleyici Seçenekleri. |
--preferreduilang:<lang> | Tercih edilen çıkış dili kültür adını belirtir (örneğin, es-ES, ja-JP). |
--Sessiz | F# Interactive'in çıkışını stdout akışına gizleme. |
--quotations-debug | F# tırnak değişmez değerlerinden ve yansıtılan tanımlardan türetilen ifadeler için ek hata ayıklama bilgilerinin yayılması gerektiğini belirtir. Hata ayıklama bilgileri bir F# ifade ağacı düğümünün özel özniteliklerine eklenir. Bkz. Kod Teklifleri ve Expr.CustomAttributes. |
--readline[+|-] | Etkileşimli modda sekme tamamlamayı etkinleştirin veya devre dışı bırakın. |
--reference:<filename> -r:<filename> |
fsc.exe derleyici seçeneğiyle aynı. Daha fazla bilgi için bkz . Derleyici Seçenekleri. |
--tailcalls[+|-] | Kuyruk özyinelemeli işlevleri için yığın çerçevesinin yeniden kullanılmasına neden olan tail IL yönergesinin kullanımını etkinleştirin veya devre dışı bırakın. Bu seçenek varsayılan olarak etkindir. |
--targetprofile:<string> | Bu derlemenin hedef çerçeve profilini belirtir. Geçerli değerler , netcore veya netstandard değerleridirmscorlib . Varsayılan değer: mscorlib . |
--use:<filename> | Yorumlayıcıya başlangıçta verilen dosyayı ilk giriş olarak kullanmasını söyler. |
--utf8output | fsc.exe derleyici seçeneğiyle aynı. Daha fazla bilgi için bkz . Derleyici Seçenekleri. |
--warn:<warning-level> | fsc.exe derleyici seçeneğiyle aynı. Daha fazla bilgi için bkz . Derleyici Seçenekleri. |
--warnaserror[+|-] | fsc.exe derleyici seçeneğiyle aynı. Daha fazla bilgi için bkz . Derleyici Seçenekleri. |
--warnaserror[+|-]:<int-list> | fsc.exe derleyici seçeneğiyle aynı. Daha fazla bilgi için bkz . Derleyici Seçenekleri. |
F# Etkileşimli yapılandırılmış yazdırma
F# Etkileşimli (dotnet fsi
), değerleri raporlamak için yapılandırılmış düz metin biçimlendirmesinin genişletilmiş bir sürümünü kullanır.
Düz metin biçimlendirmesinin
%A
tüm özellikleri desteklenir ve bazıları da özelleştirilebilir.Renkler çıkış konsolu tarafından destekleniyorsa yazdırma renklendirilir.
Bu dizeyi açıkça değerlendirmediğiniz sürece, gösterilen dizelerin uzunluğuna bir sınır yerleştirilir.
Nesne aracılığıyla
fsi
kullanıcı tarafından tanımlanabilir bir ayar kümesi kullanılabilir.
Bildirilen değerler için düz metin yazdırmayı özelleştirmek için kullanılabilir ayarlar şunlardır:
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
ve ile AddPrinter
özelleştirme AddPrintTransformer
F# Etkileşimli çıkışlarında yazdırma ve fsi.AddPrintTransformer
kullanılarak fsi.AddPrinter
özelleştirilebilir.
İlk işlev, bir nesnenin yazdırmasını değiştirmek için metin verir. İkinci işlev bunun yerine görüntülenecek bir vekil nesne döndürür. Örneğin, aşağıdaki F# kodunu göz önünde bulundurun:
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" }
Örneği F# Etkileşimli'de yürütürseniz, biçimlendirme seçeneği kümesine göre çıkar. Bu durumda, tarih ve saat biçimlendirmesini etkiler:
type DateAndLabel =
{ Date: DateTime
Label: string }
val newYearsDay1999 : DateAndLabel = { Date = 1999-01-01T00:00:00
Label = "New Year" }
fsi.AddPrintTransformer
yazdırma için vekil nesne vermek için kullanılabilir:
type MyList(values: int list) =
member _.Values = values
fsi.AddPrintTransformer(fun (x:MyList) -> box x.Values)
let x = MyList([1..10])
Bu, şu çıkışı üretir:
val x : MyList = [1; 2; 3; 4; 5; 6; 7; 8; 9; 10]
transformatör işlevi 'null
ye fsi.AddPrintTransformer
geçirilirse, yazdırma transformatörü yoksayılır.
Bu, türüyle obj
başlayarak herhangi bir giriş değerini filtrelemek için kullanılabilir. Örneğin:
fsi.AddPrintTransformer(fun (x:obj) ->
match x with
| :? string as s when s = "beep" -> box ["quack"; "quack"; "quack"]
| _ -> null)
let y = "beep"
Bu, şu çıkışı üretir:
val y : string = ["quack"; "quack"; "quack"]
İlgili konular
Ünvan | Açıklama |
---|---|
Derleyici Seçenekleri | F# derleyicisi için kullanılabilen komut satırı seçeneklerini fsc.exe açıklar. |