F# 互動是什麼?
有時候您不想要進行建立、封裝和散發應用程式的流程。 F# 互動是互動式程式設計和指令碼環境。 這可讓您透過主控台或獨立的指令碼檔案,以即時方式撰寫和評估程式碼,讓您輕鬆地從構思概念到建立程式碼。
開始使用 F# 互動
F# 互動內建於 .NET SDK 中。 您可以使用 .NET CLI dotnet fsi
命令來啟動。
dotnet fsi
讀取-評估-列印-迴圈 (REPL)
從開始 F# 互動會將您帶到讀取-評估-列印迴圈 (REPL) 工作階段,您可以在其中撰寫 F# 程式碼,並立即在主控台中評估其輸出。
Microsoft (R) F# Interactive version 11.4.2.0 for F# 5.0
Copyright (c) Microsoft Corporation. All Rights Reserved.
For help type #help;;
>
執行和評估運算式
若要評估您的輸入,您必須在 >
字元之後輸入其內容。
> #help;;
例如,如果執行 #help
命令,輸出會顯示 F# 互動說明功能表。
F# Interactive directives:
#r "file.dll";; // Reference (dynamically load) the given DLL
#i "package source uri";; // Include package source uri when searching for packages
#I "path";; // Add the given search path for referenced DLLs
#load "file.fs" ...;; // Load the given file(s) as if compiled and referenced
#time ["on"|"off"];; // Toggle timing on/off
#help;; // Display help
#r "nuget:FSharp.Data, 3.1.2";; // Load Nuget Package 'FSharp.Data' version '3.1.2'
#r "nuget:FSharp.Data";; // Load Nuget Package 'FSharp.Data' with the highest version
#quit;; // Exit
F# Interactive command line options:
See 'dotnet fsi --help' for options
運算式的結尾是以 ;;
字元分隔。 等到您輸入 ;;
字元之後,才會評估任何程式碼。 此結構在撰寫多行運算式時很有用,因為您的程式碼不會以新的行字元分隔。
評估 F# 程式碼是以相同方式運作。 下列程式碼會印出訊息到主況台。
> printfn "Hello World!";;
評估的輸出為:
Hello World!
val it : unit = ()
第一行顯示已評估程式碼的輸出,而第二行則顯示輸出的類型資訊。 在此情況下,主控台的值輸出是以 ()
權杖表示並繫結至 it
名稱的型別 unit
。 如果您想要執行更多作業,您可以稍後在程式中存取 it
值。
離開 REPL
使用 F# 互動 REPL 之後,請使用 #q
或 #quit
命令來結束。
> #q;;
fsx 指令碼檔案
當您撰寫更多程式碼時,可以使用 fsx 副檔名將程式碼儲存在指令碼中。
如果您使用將訊息列印至主控台的相同範例,則可以建立名為 my-script.fsx 的檔案,以寫入您的程式碼。
printfn "Hello World!"
不過要注意的是,在 fsx 檔案中,不需要在運算式的結尾使用 ;;
。 您不需要它,因為在指令碼檔案中,F# 互動可以使用標準 F# 程式碼格式設定方針,例如縮排和新行。
您可以只執行 dotnet fsi
,並指定 F# 原始程式碼的指令碼檔案名稱,F# 互動就會即時讀取程式碼並執行程式碼,而不是編譯原始程式碼,然後稍後再執行已編譯的組件。
dotnet fsi my-script.fsx
執行此指令碼會產生下列輸出。
Hello World!