Clojure - REPL 工具

REPL(读取-评估-打印循环)是一个用于试验 Clojure 代码的工具。 它允许您与正在运行的程序交互并快速尝试事情是否按预期进行。 它通过向您显示可以输入代码的提示来实现此目的。 然后它读取您的输入,对其进行评估,打印结果,然后循环,再次向您显示提示。

此过程可实现快速反馈周期,这在大多数其他语言中是不可能的。

开始 REPL 会话

可以通过在命令行中键入以下命令在 Leiningen 中启动 REPL 会话。

lein repl

这将启动以下 REPL 窗口。

REPL 窗口

然后,您可以根据需要开始在 REPL 窗口中评估 Clojure 命令。

要在 Eclipse 中启动 REPL 会话,请单击菜单选项,转到 Run As → Clojure Application。

REPL 会话

这将在一个单独的窗口中启动一个新的 REPL 会话以及控制台输出。

REPL 控制台输出

从概念上讲,REPL 类似于 Secure Shell (SSH)。 与使用 SSH 与远程服务器交互的方式相同,Clojure REPL 允许您与正在运行的 Clojure 进程交互。 此功能非常强大,因为您甚至可以将 REPL 附加到实时生产应用程序并在程序运行时对其进行修改。

REPL 中的特殊变量

REPL包含一些有用的变量,其中最广泛使用的是特殊变量*1、*2和*3。 它们用于评估最近三个表达式的结果。

以下示例显示了如何使用这些变量。

user => "Hello"
Hello
user => "World"
World
user => (str *2 *1)
HelloWorld

在上面的示例中,前两个字符串分别作为"Hello"和"World"发送到 REPL 输出窗口。 然后 *2 和 *1 变量用于调用最后 2 个计算的表达式。