Clojure

REPL 中的程式設計:簡介

本指南適用於對 Clojure 至少具備基本了解,並希望更熟練使用 Clojure REPL 的開發人員。

什麼是 REPL?

Clojure REPL(代表讀取-評估-列印迴圈)是一種程式設計環境,讓程式設計人員能夠與正在執行的 Clojure 程式互動並修改它,一次評估一個程式碼表達式。

A Clojure REPL in a terminal
圖 1. 終端機視窗中的 Clojure REPL

 

An editor-integrated Clojure REPL
圖 2. 整合編輯器的 Clojure REPL

為什麼要使用 REPL?

Clojure REPL 為程式設計人員提供互動式開發體驗。在開發新功能時,它讓程式設計人員能夠先手動執行小任務來建構程式,就好像他們就是電腦一樣,然後逐漸讓它們越來越自動化,直到完全編寫出所需的功能。在除錯時,REPL 會讓程式的執行感覺有形:它讓程式設計人員能夠快速重現問題、仔細觀察其症狀,然後即興進行實驗,以快速縮小錯誤原因並反覆進行修正。

許多 Clojure 程式設計人員認為 REPL 及其提供的緊密回饋迴圈是使用 Clojure 最令人信服的理由。這並不表示 Clojure 的語言功能(例如不可變資料結構)沒有價值:Clojure REPL 能發揮其大部分優勢是因為這些功能,特別是因為 Clojure 是以互動式開發為考量而設計的。

在 Clojure 中,程式設計人員通常會將 REPL 用於各種程式設計任務,而在其他語言中,他們會使用其他類型的工具。這些任務包括

  • 啟動本地開發環境,

  • 執行自動化測試套件,

  • 一次性資料庫查詢和介入,

  • 除錯,

  • 協調遠端機器,

  • 熟悉函式庫和 API,

  • …​以及許多形式的探索。

基本上,程式設計師在所有這些任務中使用 REPL 的原因始終相同:因為他們想要自動化和即興發揮的組合,而這既不能由完全手動的工具(例如儀表板、主控台等)提供,也不能由完全自動化的工具(例如腳本)提供,同時讓工作流程集中在一個功能齊全的程式設計環境中。

本指南將涵蓋的內容

本指南將從 Clojure REPL 入門開始,然後逐漸轉向越來越進階的 Clojure REPL 使用方式。

根據您的需求,您可能不需要閱讀本指南的全部內容

首先,我們將學習如何 啟動基本 Clojure REPL