Clojure 换蛋糕';当前目录

Clojure 换蛋糕';当前目录,clojure,Clojure,如果test.clj如下所示,是否可以配置蛋糕: (use 'java.io.File) (println (.getAbsolutePath (File. "."))) 运行cake run test.clj将打印当前目录,而不是/home/retief/.cake/ 运行clojure test.clj可以正常工作,使用我的自定义(而且非常简单)clojure脚本,但这需要我每次启动一个新的jvm。能够使用cake来避免这种情况并保持我的当前目录将是非常有用的 我知道在实际的clojure

如果test.clj如下所示,是否可以配置蛋糕:

(use 'java.io.File)
(println (.getAbsolutePath (File. ".")))
运行
cake run test.clj
将打印当前目录,而不是/home/retief/.cake/

运行
clojure test.clj
可以正常工作,使用我的自定义(而且非常简单)clojure脚本,但这需要我每次启动一个新的jvm。能够使用cake来避免这种情况并保持我的当前目录将是非常有用的


我知道在实际的clojure项目中使用cake会将当前目录设置为项目根目录,但我正试图找到适用于更一般脚本任务的内容。

cake的持久JVM在调用时看不到客户端cake进程所在的目录,因为JVM已经在运行。设计脚本以路径作为参数可能会更简单


附言:蛋糕和莱宁根正在合并

Cake的持久JVM在调用时看不到客户端Cake进程所在的目录,因为JVM已经在运行。设计脚本以路径作为参数可能会更简单


附言:蛋糕和莱宁根正在合并

这正是我所猜测的,但是传入相对路径是不起作用的(它不会被shell扩展,如果clojure不知道当前目录,它就无法解码相对路径),传入绝对路径与jvm启动时间一样烦人。最好的答案可能是启动一个新的jvm,或者使用clojurescript和Node.js,我想。在我使用nailgun和jython的工作中,我们添加了一个shell包装器,它可以将完整路径保存到一个文件中以及其他一些东西。这可能会有点痛苦,尽管它会带来巨大的不同。这与我的猜测差不多,但传入相对路径不起作用(它不会被shell扩展,如果clojure不知道当前目录,它就无法解码相对路径),而传递绝对路径与jvm启动时间一样烦人。最好的答案可能是启动一个新的jvm,或者使用clojurescript和Node.js,我想。在我使用nailgun和jython的工作中,我们添加了一个shell包装器,它可以将完整路径保存到一个文件中以及其他一些东西。这可能有点痛苦,尽管它会带来巨大的不同。