Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Emacs 如何在Clojure代码上执行与eval last sexp等效的操作_Emacs_Clojure_Synchronization_Read Eval Print Loop - Fatal编程技术网

Emacs 如何在Clojure代码上执行与eval last sexp等效的操作

Emacs 如何在Clojure代码上执行与eval last sexp等效的操作,emacs,clojure,synchronization,read-eval-print-loop,Emacs,Clojure,Synchronization,Read Eval Print Loop,编辑原因我还没有完全理解,我的C-x C-e必须评估最后一次性爱,而不是(?)slime eval last expression。现在我可以从.clj缓冲区中得到C-x C-e,并且我至少可以直接看到我的函数(in)是否正确,但是,这显然不能使函数“slime eval last expression”对REPL“可用” 我已经设置了Emacs来进行Clojure编程,我不知道我的设置是否正确 我有两个缓冲区:一个用于.clj文件,另一个用于REPL。我正在使用clojure jack in启

编辑原因我还没有完全理解,我的C-x C-e必须评估最后一次性爱,而不是(?)slime eval last expression。现在我可以从.clj缓冲区中得到C-x C-e,并且我至少可以直接看到我的函数(in)是否正确,但是,这显然不能使函数“slime eval last expression”对REPL“可用”

我已经设置了Emacs来进行Clojure编程,我不知道我的设置是否正确

我有两个缓冲区:一个用于.clj文件,另一个用于REPL。我正在使用clojure jack in启动REPL

显然,我需要始终编译.clj(这也总是迫使我保存带有提示的文件),然后我需要切换到REPL并在REPL中发出(使用“myname.space”)命令,然后才能尝试(比如)我编写的新函数

这是一个非常简单的事情,需要按很多键

现在,当然,我可以编写一个Emacs宏来执行整个save/confirm/switch to REPL/issue(使用“myname.space”)shebang,但我想知道我的设置是否正确


换言之,我想我的问题是:我连接的REPL是否应该始终与包含我正在处理的.clj的缓冲区“同步”?

如果使用Emacs编辑clojure,则应该使用Slime。看

然后,当您使用M-x clojure插件启动并连接emacs中的REPL时,您只需执行C-x C-e来编译并加载当前的sexp,或者执行C-x C-k来编译并加载当前的缓冲区


换句话说,您的repl不会“自动”与您刚在某个clojure代码缓冲区中键入的内容同步,但有更快捷、更简单的方法将代码从缓冲区发送到正在运行的clojure程序。

但我正在使用clojure jack。。。如果我问C-x C-e和什么有关联,它会说eval last sexp,它显然是在试图像评估elisp代码一样评估代码(?)。换句话说:每次我试图从缓冲区中计算最后一个sexp时,我都会得到一个异常。使用C-C-k可以很好地编译同一个文件,并且在REPL中可以很好地使用相同的函数(使用剪切/粘贴或调用use)。C-x C-e应该运行的函数的名称是什么?eval last sexp?我想第一个问题是我的C-x C-e必须eval last sexp而不是slime eval last表达式。我不是百分之百确定这整件事。