存储Clojure REPL行

3
也许这是一个新手问题,如果是的话请见谅!
在REPL中是否可以将我输入的所有行保存到文件中?也许可以在关闭REPL会话之前配置它来实现这一点。
感谢您的回答!

你使用CIDER吗?还是直接从控制台启动REPL? - OlegTheCat
我从控制台使用它。v1.8.0 - Christian
2个回答

7
默认情况下,在项目中,Leiningen 会存储历史记录。
$ lein new hello
$ cd hello
$ lein repl
user=> (+ 1 2 3)
user=> (exit)
$ cat .lein-repl-history

Boot 默认情况下总是存储历史记录:

$ boot repl
boot.user=> (+ 1 2 3)
boot.user=> (exit)
$ cat .nrepl-history

啊,我不知道。非常感谢! - Christian

2
您可以使用命令行实用程序tee。请参见以下内容:
$ lein repl | tee repl-output.txt
nREPL server started on port 52576 on host 127.0.0.1 - nrepl://127.0.0.1:52576
REPL-y 0.3.7, nREPL 0.2.12
Clojure 1.8.0
Java HotSpot(TM) 64-Bit Server VM 1.8.0_66-b17
    Docs: (doc function-name-here)
          (find-doc "part-of-name-here")
  Source: (source function-name-here)
 Javadoc: (javadoc java-object-or-class-here)
    Exit: Control+D or (exit) or (quit)
 Results: Stored in vars *1, *2, *3, an exception in *e

user=> (+ 1 2)
3
user=> (println "Hello, world!")
Hello, world!
nil
user=> Bye for now!

之后:

$ cat repl-output.txt
nREPL server started on port 52576 on host 127.0.0.1 - nrepl://127.0.0.1:52576
Clojure 1.8.0
Java HotSpot(TM) 64-Bit Server VM 1.8.0_66-b17
...
...

注意,这种方法将捕获REPL输出和您输入的所有表单。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接