REPL [ 読む — 評価 — 出力 — ループ]

Last updated: December 12, 2024

REPLは、「インタラクティブ」な環境であり、コードのブロックを実行してリアルタイムでデバッグおよび評価を行うのに役立ちます。

REPLとは何かを理解するために、プログラマーがREPLやその他のデバッグツールを使わずにどのようにコーディングするか見てみましょう。

normal.png

ここでは、プログラマーはコードを修正し続け、最終的に動作するコードに到達するまでこのプロセスを繰り返します。

今、REPLを使うと、このように見えます。

with_repl.png

ここでは、プログラマーはコードのブロックを試しながら、その正確さを検証し、毎回動作するコードを書き進めます。

REPLを使用すると、プログラマーはコードのブロックを実行してデバッグすることで、多くの時間を節約できます。これは、プログラム全体を実行して正確さを検証するよりもはるかに効率的です。コーディングの過程で、リード–エバル–プリントループは、従来の編集-コンパイル-実行-デバッグサイクルよりも頻繁にプログラマーに関与します。

REPLの仕組みを知るには、PythonプログラマーがREPLを使って2つの数字を加算するプログラムを書く方法を見てみましょう。

ezgif.com-optimize.gif

ご覧のとおり、プログラマーは複数のケースで正確性を確保するために add2Numbers(a,b) 関数を実行しようとしています。 

Read Eval Print Loop(REPL)は、その名前が示すように、次のことをサポートしています:

  • Read — リアルタイムでユーザー入力を読む
  • Eval — コードのブロックを評価する
  • Print — 結果をユーザーに表示する
  • Loop — ループを使ってコードを繰り返す

REPLは関数や変数をメモリにロードするため、

REPLは、PythonJavascriptRubyのような解釈型プログラミング言語に正式にサポートされています。 Java9 Swift5も過去数年で公式のREPLサポートを開始しました。他のプログラミング言語には、サードパーティのREPLもあります。