【发布时间】:2017-07-31 12:47:20
【问题描述】:
我有一个接受命令行参数的主函数声明
(defn -main [& args]
(let [options (cli/parse-opts args [["-k", "--key KEY","Secret key"]
["-u", "--user USER", "User name"]])]
(println user key)))
我正在尝试将其加载到 lein repl 以进行调试,但无法弄清楚如何通过 REPL 传递参数。
我尝试了多种方法将参数传递给 repl,包括
(-main "key-val" "user-val")(打印nil nil)
(-main ("key-val" "user-val"))(打印nil nil)
我尝试了多次失败的尝试,并尝试传递一个引发转换错误的列表或向量。
【问题讨论】:
-
转换错误是否(或可能)指向您应该传入的类型?您也可以尝试打印
args,而无需对其进行解析。也许“key-val”“user-val”被很好地传递了。 -
@ChrisMurphy 这就是问题所在。我应该打印 args 并检查。根据接受的答案,参数被很好地传递了,但没有被解析。