Aracılığıyla paylaş


F# Etkileşimli seçenekler

Bu makalede F# Interactive, fsi.exetarafı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 , netcoreveya netstandarddeğ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.

  1. Düz metin biçimlendirmesinin %A tüm özellikleri desteklenir ve bazıları da özelleştirilebilir.

  2. Renkler çıkış konsolu tarafından destekleniyorsa yazdırma renklendirilir.

  3. Bu dizeyi açıkça değerlendirmediğiniz sürece, gösterilen dizelerin uzunluğuna bir sınır yerleştirilir.

  4. 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.AddPrintTransformerkullanı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 'nullye fsi.AddPrintTransformer geçirilirse, yazdırma transformatörü yoksayılır. Bu, türüyle objbaş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"]
Ünvan Açıklama
Derleyici Seçenekleri F# derleyicisi için kullanılabilen komut satırı seçeneklerini fsc.exe açıklar.