用参数clojure load -file在repl and and -nath -main上调用



我已经在clojure内部进行了一些编码。

(defn -main
  "dequeue function"
   [& args]

我正在加载此CLJ文件:

(load-file "src/exercise/core.clj")

,然后我试图学习如何在reple中调用此功能以开发core_test.clj(如果有关于如何开发此自动测试的提示,请给我一些提示(。我现在要做的是:

(-main "resources\sample-input.json" "a")

但这是打印" 参数0 ",这是我告诉代码打印的消息,只是为了查看使用

传递了多少个参数
(println "Arguments" (count *command-line-args*))

我是如何做到这一点的?谢谢!

我正在尝试学习如何在repl中调用它,以开发core_test.clj

通常,您会编写其他从-main调用并测试这些功能而不是应用程序的入口点-main

但是您应该能够像任何其他功能一样呼叫-main。我有一个src/sandbox/main.clj文件:

(ns sandbox.main)
(defn -main [& args]
  (prn args))

在项目文件夹中启动一个重复,我可以这样调用-main

(use 'sandbox.main) ;; (load-file "src/sandbox/main.clj") also works
=> nil
(in-ns 'sandbox.main)
=> #object[clojure.lang.Namespace 0x67ccce04 "sandbox.main"]
(-main "some" "args")
;; ("some" "args")
=> nil

我的示例中有一个关键区别:它是打印-mainargs绑定;*command-line-args*是零,因为您没有从命令行中运行代码。

无论如何,使用现有库直接使用CLI ARG而不是*command-line-args*是一个更好的主意。

相关内容

  • 没有找到相关文章

最新更新