F# 程式設計/入門
| F# : 入門 |
在撰寫本文時,可以透過 Visual Studio 執行 F# 程式碼,透過其互動式頂層 F# Interactive (fsi) 執行,以及從命令列編譯。本書預設情況下假設使用者將透過 Visual Studio 或 F# Interactive 編譯程式碼,除非明確指示從命令列編譯。
F# 包含在 Visual Studio 2019 中。或者,使用者可以 免費下載 Visual Studio Express 或 Community,這將為 F# 先驅提供開始所需的一切,包括互動式除錯、斷點、監視、Intellisense 以及對 F# 專案的支援。在繼續之前,請確保關閉 Visual Studio 和 Visual Studio Shell 的所有例項。
要開始,使用者應從 Microsoft 下載並安裝最新版本的 .NET Framework。
成功安裝後,使用者會在其開始選單中看到一個額外的資料夾,“Microsoft F# 2.0.X.X.” 此外,使用者會注意到在 Visual Studio 的專案型別選單中添加了“F# 專案”條目。從這裡,使用者可以建立和執行新的 F# 專案。
將可執行檔案位置(例如 c:\fsharp\bin\)新增到 %PATH% 環境變數是一個好主意,這樣你就可以從任何位置訪問編譯器和 F# 互動式環境 (FSI)。
從 Visual Studio 2019 開始,最簡單的方法是安裝 Visual Studio 2019 for Web,網址為 [1](即使您想進行桌面解決方案)。然後,您可以在安裝程式中選擇 F# 語言支援。完成後,您可以建立 F# 專案。在 Nuget 中搜索其他 F# 專案型別。
讓我們建立 Hello World 獨立應用程式。
建立一個名為 hello.fs 的文字檔案,其中包含以下程式碼
(* filename: hello.fs *)
let _ = printf "Hello world"
當您對值不感興趣時,下劃線用作變數名。F# 中的所有函式都返回一個值,即使呼叫函式的主要原因是副作用。
儲存並關閉檔案,然後編譯此檔案
fsc -o hello.exe hello.fs
現在,您可以執行 hello.exe 以生成預期輸出。
開啟命令列控制檯(點選“開始”按鈕,點選“執行”圖示,鍵入 cmd 並按 ENTER 鍵)。
鍵入 fsi 並按 ENTER 鍵。您將看到互動式控制檯
Microsoft F# Interactive, (c) Microsoft Corporation, All Rights Reserved
F# Version 1.9.6.2, compiling for .NET Framework Version v2.0.50727
Please send bug reports to fsbugs@microsoft.com
For help type #help;;
>
我們可以嘗試一些基本的 F# 變數賦值(以及一些基本的數學運算)。
> let x = 5;;
val x : int
> let y = 20;;
val y : int
> y + x;;
val it : int = 25
最後,我們退出互動式環境
> #quit;;
- 轉到控制面板,然後選擇系統。
- 系統屬性對話方塊將出現。選擇“高階”選項卡,然後點選“環境變數…”。
- 在系統變數部分,從列表中選擇 Path 變數,然後點選“編輯…”按鈕。
- 在“編輯系統變數”文字框中,附加一個分號 (;),後跟可執行檔案路徑(例如
;C:\fsharp\bin\)。 - 點選“確定”按鈕
- 點選“確定”按鈕
- 點選“應用”按鈕
現在,當您鍵入 fsc 或 fsi 時,任何命令列控制檯都會在此位置進行檢查。
F# 在 Mac OSX、Linux 和其他 Unix 版本上使用最新的 Mono 執行。這得到名為 F# 軟體基金會 的 F# 社群組織的支援。
F# 軟體基金會 提供在 Linux 和 Mac 上開始使用 F# 的最新說明。構建和/或安裝完成後,您可以使用“fsharpi”命令使用命令列直譯器,使用“fsharpc”使用命令列編譯器。
F# 軟體基金會 還提供有關安裝 Monodevelop F# 支援的說明。它帶有專案構建系統、程式碼補全和語法高亮支援。
F# 軟體基金會 還提供有關在其他編輯器中使用 F# 的說明。一個 F# 的 emacs 模式 也在 Github 上提供。
F# 在 Mac OSX 和 Windows 上使用最新的 Xamarin Studio 執行。這得到 Microsoft 的支援。Xamarin Studio 是用於開發跨平臺手機應用程式的 IDE,但它在 Mac OSX 上執行,並使用互動式外殼實現 F#。