我想运行 clojure -M -e "(compile 'foo.bar)" --some --args
,其中 foo.bar
包含一些类似以下的代码:
(require (slurp (first *command-line-args*)))
这将动态地包含基于某些复杂列表的命名空间。
但是,上面的例子中 --some
"丢失",clojure.main 尝试将其读作路径,因为没有方法可以“跳过”main-opt。我一直在使用 /dev/null
来欺骗它,这似乎有效。传统上使用 --
来解决这个问题。
我摸索了 clojure.main 的源代码,似乎有一个“nil”选项,但没有文档说明,我也无法弄清楚如何激活它!