5
사용자가 명령 줄 인수를 제공하지 않으면 Hello World에서 오류 추적 대신 사용 정보를 인쇄하려고합니다.스레드 "main"clojure.lang.ArityException에서 예외가 발생하지 않도록하는 방법?
":";exec clj -m `basename $0 .clj` ${1+"[email protected]"}
":";exit
(ns hello
(:gen-class))
(defn -main
[greetee]
(println (str "Hello " greetee "!")))
$ ./hello.clj Fred
Hello Fred!
$ ./hello.clj
Exception in thread "main" clojure.lang.ArityException: Wrong number of args (0) passed to: hello$-main
at clojure.lang.AFn.throwArity(AFn.java:439)
at clojure.lang.AFn.invoke(AFn.java:35)
at clojure.lang.Var.invoke(Var.java:397)
at clojure.lang.AFn.applyToHelper(AFn.java:159)
at clojure.lang.Var.applyTo(Var.java:518)
at clojure.core$apply.invoke(core.clj:600)
at clojure.main$main_opt.invoke(main.clj:323)
at clojure.lang.FnLoaderThunk.invoke(FnLoaderThunk.java:36)
at clojure.main$main.doInvoke(main.clj:426)
at clojure.lang.RestFn.invoke(RestFn.java:422)
at clojure.lang.FnLoaderThunk.invoke(FnLoaderThunk.java:36)
at clojure.lang.Var.invoke(Var.java:405)
at clojure.lang.AFn.applyToHelper(AFn.java:165)
at clojure.lang.Var.applyTo(Var.java:518)
at clojure.main.main(main.java:37)
고마워요! 당신은 Clojure에 귀중한 자원임을 입증하고 있습니다. – mcandre
내 옵션 구문 분석 라이브러리 인 https://github.com/amalloy/clojopts도 확인하실 수 있습니다. 아직 사용법 메시지를 보내지는 않지만 위시리스트에 있으며 원하는 경우 기여할 수 있습니다. – amalloy