REPL
REPL(read-eval-print loop)是一个用于试验Clojure代码的工具。 它允许您与正在运行的程序交互,并快速尝试如果事情按照他们应该工作。 它通过向您提供一个提示,您可以在其中输入代码。 然后它读取您的输入,评估它,打印结果和循环,再次提示您一个提示。
该过程实现了在大多数其他语言中不可能的快速反馈循环。
启动REPL会话
可以在Leiningen中通过在命令行中键入以下命令来启动REPL会话。
lein repl
这将启动以下REPL窗口。
![REPL窗口](https://atts.w3cschool.cn/attachments/tuploads/clojure/repl_window.jpg)
然后,根据需要在REPL窗口中开始设置Clojure命令。
要在Eclipse中启动REPL会话,请单击“菜单”选项,转到“运行方式”→“Clojure应用程序”。
![REPL会话](https://atts.w3cschool.cn/attachments/tuploads/clojure/repl_session.jpg)
这将在控制台的输出窗口中单独启动一个新的REPL会话。
![REPL控制台输出](https://atts.w3cschool.cn/attachments/tuploads/clojure/repl_console_output.jpg)
从概念上讲,REPL类似于安全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个计算表达式。