codecamp

Clojure REPL

REPL(read-eval-print loop)是一个用于试验Clojure代码的工具。 它允许您与正在运行的程序交互,并快速尝试如果事情按照他们应该工作。 它通过向您提供一个提示,您可以在其中输入代码。 然后它读取您的输入,评估它,打印结果和循环,再次提示您一个提示。

该过程实现了在大多数其他语言中不可能的快速反馈循环。

启动REPL会话

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

lein repl

这将启动以下REPL窗口。

REPL窗口

然后,根据需要在REPL窗口中开始设置Clojure命令。

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

REPL会话

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

REPL控制台输出

从概念上讲,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个计算表达式。


Clojure 基本语法
Clojure 数据类型
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

Clojure Useful Resources

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }