Onl*_*ere 65 command-line clojure
我在我的Linux Mint机器上安装了Geany,并编写了一些简单的代码.只是一个小小的hello世界,开始使用该语言.
现在我想运行它,看看它输出了什么.
我该如何运行此代码?我没有使用IDE或预先打包的东西,只是简单的文本编辑器Geany.
我应该运行什么命令?
met*_*ous 63
clojure我无法相信没人提出这个建议.你应该能做到的
clojure path/to/script.clj
Run Code Online (Sandbox Code Playgroud)
这适用于使用apt-get在Ubuntu上安装的clojure.不确定其他安装...
lein-exec但是,如果您正在处理的脚本有任何依赖项,我会推荐该lein-exec插件.这样做的好处是可以让你使用Leiningen处理任何依赖,这很甜蜜.Leiningen 已经有了一个lein run命令,但它只适用于在完整的Clojure/lein项目中执行主要功能.所以lein-exec插件是小规模脚本的一个非常好的补充.
注意:为了彻底,如果使用lein,您可以将任何要使用的库添加到~/.lein/profiles.clj文件中,或者project.clj如果您正在项目中工作则添加到文件中.然后,当您运行lein deps所有依赖项时,将在使用lein exec/ 时在脚本/项目中安装和访问它们lein run.此外,lein repl为您提供可以访问这些依赖项的Clojure repl.再次,如果您有任何库依赖项,绝对是要走的路.
drip更快的启动时间Drip是一个简洁的小工具,为您提供准备启动的预引导JVM映像.这对于减少JVM应用程序启动时间非常有用.Clojure可能需要花费很长时间来自我引导,因此滴水是一个很好的工具,可以帮助加快这个过程.当您编写小脚本时尤其如此,通常需要快速运行.如果您正在使用leiningen,请查看lein-drip插件.
我推荐http://planck-repl.org/.它现在支持(引导)快速启动ClojureScript脚本,而无需启动JVM或Clojure.对于大多数脚本任务,快速执行很重要,因此当您不需要JVM特有的任何内容时,这是我的第一推荐.
Ale*_*Ott 57
您可以使用以下命令运行脚本:
java -cp clojure.jar clojure.main file.clj
Run Code Online (Sandbox Code Playgroud)
但最好使用leiningen,尤其是当你开始为你的项目添加依赖项时.lein提供了许多命令来运行代码(包含所有必需的依赖项),将代码打包到存档中lein jar,或创建完整的独立存档lein uberjar,您可以使用以下命令运行:
java -jar your_app.jar
Run Code Online (Sandbox Code Playgroud)
命令
PS您可以lein在以下文章中阅读如何使用- 它描述了基本任务和配置
小智 14
一旦你安装了lein和lein-exec插件,运行你创建的.clj文件就像
lein exec hello.clj
Run Code Online (Sandbox Code Playgroud)
如果您正在传递命令行参数,例如
lein exec hello.clj arg1 arg2 arg3
Run Code Online (Sandbox Code Playgroud)
您可以在hello.clj中的'foo'函数中访问它们
(foo *command-line-args*)
Run Code Online (Sandbox Code Playgroud)
对于单个clj文件,您可以添加,
#!/usr/bin/env java -cp /path/to/clojure-1.2.0.jar clojure.main
Run Code Online (Sandbox Code Playgroud)
到文件的顶部并使其可执行,或者您可以使用leiningen这是一个clojure构建工具,它将创建一个包装好的所有包装,然后您可以这样做,
java -jar cool_app.jar
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
29988 次 |
| 最近记录: |