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 可供使用。