在Clojure中,我有一个Leiningen项目和我的来源
/src/project/core.clj
我想为此添加一个子目录。例如
/src/project/examples/example-one.clj
在我的core.clj文件中,我尝试从
拉入project.examples.example-one
但是lein编译仍告诉我
Could not locate project/examples/example_one__init.class or project/examples/example_one.clj on classpath:
如果在主代码目录中添加子目录,是否必须显式更新project.clj文件? (我没有看到主代码目录本身是明确给出的。)
答案 0 :(得分:6)
如果您的命名空间包含破折号,则相应的文件应包含下划线而不是破折号。你可以在这里阅读原因:
why-does-clojure-convert-dashes-in-names-to-underscores-in-the-filesystem
除非您添加不同的源代码,如Java,Groovy等...默认情况下,lein将包含src文件夹中的所有命名空间。
答案 1 :(得分:0)
啊......似乎我的文件名中没有连字符?
对于Lisp方言有点奇怪,现在我已经习惯使用连字符作为我的函数名中的默认分隔符。