这是我的问题:
我每次打开新的repl时都需要运行一些代码,在Google中搜索我发现我可以使用文件init.clj
或user.clj
(与Leiningen一起)
这是我需要运行的代码:
(set! *print-length* 103)
(println "hello")
(println *print-length*)
这些是两个文件的结果:
[~/project]$ lein repl
hello <- this is the println, so the file is excecuted
103 <- this is the println of *print-length* apparently change
REPL started; server listening on localhost port 20875
user=> *print-length*
nil <- but the val of *print-length* don't change
我有什么需要做的或是否有一些错误?
感谢所有人!
答案 0 :(得分:4)
lein的init.clj在leiningen流程中运行,而不是在项目流程中运行。请参阅https://github.com/technomancy/leiningen(搜索init.clj)
答案 1 :(得分:4)
(alter-var-root #'*print-length* (constantly 103))
中的{p> ~/user.clj
适合我。
据我所知set!
在binding
的动态范围之外无效。