Clojure - REPL



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

此过程使快速反馈循环成为可能,而大多数其他语言都不具备此功能。

启动 REPL 会话

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

lein repl

这将启动以下 REPL 窗口。

REPL Window

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

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

REPL Session

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

REPL Console Output

从概念上讲,REPL 类似于安全外壳 (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 个求值的表达式。

广告