我希望运行 clojure -M -e "(compile 'foo.bar)" --some --args
,其中 foo.bar
包含如下代码
(require (slurp (first *command-line-args*)))
这将根据一些复杂的命名空间列表动态包含额外的命名空间。
但是,如上的例子中,“--some” 已丢失,clojure.main 尝试将其解释为一个路径,因为没有方法直接跳过 main-opts。我目前通过传递 /dev/null
来规避这个问题,这似乎可以工作。传统上,可以使用 --
来解决这个问题。
我对 clojure.main 的源代码进行了研究,它似乎存在一个“nil”选项,但没有文档说明如何激活它!