REPL [ 讀取 — 評估 — 列印 — 循環]

Last updated: December 12, 2024

REPL 是一個“互動式”的環境,幫助即時執行並評估程式碼區塊以進行除錯和測試。 

要了解什麼是 REPL,讓我們看看一個程式設計師在沒有 REPL 或其他除錯工具的情況下是如何編碼的。

normal.png

在這裡,程式設計師持續修改程式碼,並重複整個流程直到找到最終可用的程式碼。

現在有了 REPL,效果如下。

with_repl.png

在這裡,程式設計師持續嘗試不同的程式碼區塊來驗證其正確性,並每次都撰寫出可運作的程式碼。

使用 REPL,程式設計師可以節省大量時間,透過執行和除錯程式碼區塊,這比執行整個程式並驗證其正確性要來得更有效率。在編碼過程中,讀取–評估–列印循環比傳統的編輯-編譯-執行-除錯循環更頻繁地涉及程式設計師。

要了解 REPL 的運作方式,請看看一個 Python 程式設計師如何使用 REPL 來撰寫一個加法兩個數的程式。

ezgif.com-optimize.gif

如你所見,程式設計師嘗試用多個案例來運行 add2Numbers(a,b) 函數以確保正確性。 

Read Eval Print Loop,顧名思義支持以下功能:

  • Read — 實時讀取用戶輸入
  • Eval — 評估程式碼區塊
  • Print — 將結果輸出給用戶
  • Loop — 使用迴圈重複程式碼

由於 REPL 將函數和變數載入記憶體,它也支持使用 <Tab> 鍵自動完成函數。

REPL 正式支援解釋型程式語言,如 PythonJavascriptRuby Java9 以及 Swift5 在過去幾年也推出了官方 REPL 支援。對於其他程式語言,則有第三方 REPL 可供使用。