我是clojure的绝对初学者.我有clojure1.6和lein(我使用ubuntu 15.04).如何运行我使用终端创建的clojure文件?有这样clojure file.clj
的命令吗?我感谢您的帮助!
Mar*_*ars 10
简单的答案:
如果'clojure'是将运行Clojure的脚本或别名(通过使用适当的命令行参数运行java),并且"foo.clj"是您的Clojure源文件的名称,那么您只需输入
clojure foo.clj
Run Code Online (Sandbox Code Playgroud)
如果这不起作用,那是因为你的路径中没有这样的脚本,但是你可以创建一个脚本,其内容如下所示:
#!/bin/sh
java -cp /usr/lib/clojure-1.6.0.jar clojure.main "$@" -r
Run Code Online (Sandbox Code Playgroud)
您需要弄清楚Clojure jar文件的位置,然后替换它-cp
.使用Leiningen,你可能在〜/ .m2下有这个文件的某个版本.
如果你启动Clojure并获得REPL提示,那么你可以输入:
(load-file "foo.clj")
Run Code Online (Sandbox Code Playgroud)
要么
(load-file "<path to foo.clj>/foo.clj")
Run Code Online (Sandbox Code Playgroud)
好的答案:
见Shlomi和Daniel Compton的答案.
当您开始使用Clojure时,关于如何设置目录结构和文件名以便轻松使用Leiningen和Clojure,可能会有一些学习曲线.(如果你对Java有所了解,这有点容易.)但是,一旦你熟悉了Leiningen的project.clj文件以及如何设置源文件和命名空间(在你了解命名空间之后!),在传统的方式会让你的Clojure生活比你继续使用-m
和生活更容易load-file
.(Clojure非常适合开发小型或大型项目,而不是运行一次性脚本.Clojure需要很长时间才能用作脚本语言,而Leiningen需要更长的时间.)
$ lein run -m my.namespace # run the -main function of a namespace
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2344 次 |
最近记录: |