clojure slurp需要绝对路径

clojure slurp需要绝对路径,clojure,Clojure,Total noob to clojure-当我尝试读取与.clj文件位于同一文件夹中的文件时,使用slurp不起作用,除非我放置了完整的绝对路径 例如,如果我有stuff/file.clj和stuff/words.txt,(slurp“words.txt”)无法找到该文件。如果我把整个路径都放进去,它就会工作。基于阅读其他人的代码和文档,情况不应该是这样 我只是一次性运行这个脚本,没有创建clojure应用程序典型的任何类型的文件夹/项目结构,因此不确定这是否会导致任何路径问题,slurp采用

Total noob to clojure-当我尝试读取与.clj文件位于同一文件夹中的文件时,使用slurp不起作用,除非我放置了完整的绝对路径

例如,如果我有stuff/file.clj和stuff/words.txt,(slurp“words.txt”)无法找到该文件。如果我把整个路径都放进去,它就会工作。基于阅读其他人的代码和文档,情况不应该是这样


我只是一次性运行这个脚本,没有创建clojure应用程序典型的任何类型的文件夹/项目结构,因此不确定这是否会导致任何路径问题,slurp采用的是相对于当前工作目录的路径,而不是它所在的clojure文件。在Clojure项目中,这通常是项目根(即project.clj所在的地方)。但既然您说您只是在运行独立的Clojure文件,而没有项目,那么它应该是shell的工作目录。

Hmmm。。。必须是sublimerepl是从clojure所在的任何位置执行的,而不是从当前的工作目录执行。我习惯于构建路径感知的命令,因此如果在目录中构建文件,shell将使用该路径调用解释器。通过运行
(System/getProperty“user.dir”)
.yep…,您可以找到JVM认为工作目录是什么。。。。默认为升华位置,需要弄清楚如何将其设置为active directory。谢谢。