5

目标:生成一个 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 的#| ... |#语法。

4

2 回答 2

6

语法晦涩难懂,但确实有效。来自维基教科书

$ ./hello.clj Fred
Hello Fred!

":";exec clj -m `basename $0 .clj` ${1+"$@"}
":";exit

(ns hello
    (:gen-class))

(defn -main
    [greetee]
    (println (str "Hello " greetee "!")))
于 2011-03-08T01:59:16.387 回答
0

由于Clojure CLI可用,请使用

#! /usr/bin/env clj

(println "Hello World!")
于 2018-02-22T10:33:04.660 回答