Goal: produce a Clojure script which runs -main
when run as ./script.clj
.
The closest I've gotten is
#!/bin/bash
#(comment
exec clj -m `basename $0 .clj` ${1+"$@"}
exit
#)
(defn -main [args]
(println args))
But Clojure doesn't allow non-Lisp code inside multline comments, and Clojure doesn't have Common Lisps's #| ... |#
syntax.
The syntax is obscure, but it works. From Wikibooks.
$ ./hello.clj Fred
Hello Fred!
":";exec clj -m `basename $0 .clj` ${1+"$@"}
":";exit
(ns hello
(:gen-class))
(defn -main
[greetee]
(println (str "Hello " greetee "!")))
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With