Clojure-REPL


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

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

启动 REPL 会话

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

lein repl

这将启动以下 REPL 窗口。

REPL窗口

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

要在 Eclipse 中启动 REPL 会话,请单击“菜单”选项,转到“运行方式”→“Clojure 应用程序”。

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 个计算的表达式。