目标:生成一个 Clojure 脚本,该脚本-main
在以./script.clj
.
我得到的最接近的是
#!/bin/bash
#(comment
exec clj -m `basename $0 .clj` ${1+"$@"}
exit
#)
(defn -main [args]
(println args))
但是 Clojure 不允许在多行注释中使用非 Lisp 代码,而且 Clojure 没有 Common Lisps 的#| ... |#
语法。
语法晦涩难懂,但确实有效。来自维基教科书。
$ ./hello.clj Fred
Hello Fred!
":";exec clj -m `basename $0 .clj` ${1+"$@"}
":";exit
(ns hello
(:gen-class))
(defn -main
[greetee]
(println (str "Hello " greetee "!")))
由于Clojure CLI可用,请使用
#! /usr/bin/env clj
(println "Hello World!")