OCaml 頂層互動式介面簡介

OCaml 的頂層互動式介面是使用者與 OCaml 之間的對話。使用者撰寫 OCaml 程式碼,而 UTop 會評估它。這也是為什麼它也稱為讀取-求值-列印迴圈 (REPL)。存在多個 OCaml 頂層互動式介面,例如 ocamlutop。我們建議使用 UTop,它是 OCaml 平台工具鏈的一部分。

要執行 UTop,我們使用 utop 命令,如下所示

$ utop
────────┬─────────────────────────────────────────────────────────────┬─────────
        │ Welcome to utop version 2.12.1 (using OCaml version 5.0.0)!        └─────────────────────────────────────────────────────────────┘

Type #utop_help for help about using utop.

─( 17:00:09 )─< command 0 >──────────────────────────────────────{ counter: 0 }─
utop #

Ctrl-D(檔案結束)或輸入 #quit;; 以退出 utop

UTop 會顯示雜湊提示符號 #,類似於 CLI 中的 $。這個 # 表示它正在等待輸入,因此您可以在提示符號後開始撰寫程式碼。若要評估它,請新增一個雙分號 ;; 以表示運算式結束,然後按 Enter

以雙分號結尾的行會觸發剖析、類型檢查和評估提示符號和雙分號之間輸入的所有內容。對雙分號的解釋不是由 OCaml 直譯器完成的;而是由 UTop 完成的。一旦雙分號終止的條目評估結束,REPL 就會等待另一個輸入。

# 開頭的程式碼範例旨在複製/貼上到 UTop 中。

例如,考慮以下程式碼片段

# 2 + 2;;
- : int = 4

在上面的程式碼片段中,2 + 2;; 是使用者的輸入,而 - : int = 4 是 OCaml 的輸出。

如果您需要在按下 Enter 之前修改程式碼,可以使用鍵盤上的向右和向左箭頭在文字內移動。向上和向下箭頭允許您瀏覽先前評估的運算式。在沒有雙分號 ;; 的情況下按下 Enter 會建立新的一行,因此您可以使用這種方式撰寫多行運算式。

以雜湊字元 # 開頭的命令,例如 #quit#help,不會由 OCaml 評估;它們會被 UTop 解釋為命令。

您現在已準備好使用 UTop 進行駭客了!如果您在頂層互動式介面遇到任何問題,請隨時在 Discuss 上提問

注意:雙分號 ;; 在頂層互動式介面之外也是 OCaml 語法中的有效符號。在 OCaml 原始碼中,它是一個空操作,即它不會觸發任何行為,因此會被編譯器忽略。如果您的目的是將檔案編譯或解譯為腳本,則在 OCaml 中撰寫時可以而且應該避免使用雙分號。保留它們不會產生錯誤,但它們是無用的。編譯器容許它們,以便允許從 UTop 複製貼上到檔案,而無需刪除它們。

仍然需要協助嗎?

協助改進我們的文件

所有 OCaml 文件都是開放原始碼。發現錯誤或不清楚的地方嗎?提交提取請求。

OCaml

創新。社群。安全。