Clojure的多行shebangs?
目标:生成一个Clojure脚本,当作为Clojure的多行shebangs?,clojure,multiline,main,comments,shebang,Clojure,Multiline,Main,Comments,Shebang,目标:生成一个Clojure脚本,当作为/script.clj运行时,它将运行-main 我得到的最接近的是 #!/bin/bash #(comment exec clj -m `basename $0 .clj` ${1+"$@"} exit #) (defn -main [args] (println args)) 但是Clojure不允许在多行注释中使用非Lisp代码,并且Clojure没有公共Lisp的| ||#语法。语法晦涩难懂,但它可以工作。从 自可用以来,使用 #! /us
/script.clj
运行时,它将运行-main
我得到的最接近的是
#!/bin/bash
#(comment
exec clj -m `basename $0 .clj` ${1+"$@"}
exit
#)
(defn -main [args]
(println args))
但是Clojure不允许在多行注释中使用非Lisp代码,并且Clojure没有公共Lisp的
| ||#代码>语法。语法晦涩难懂,但它可以工作。从
自可用以来,使用
#! /usr/bin/env clj
(println "Hello World!")
出于好奇,《代码》为什么不呢/usr/bin/clj-m
work?仍然看不出这与你最近的问题有什么不同,你最近的问题本身就是一个重复的问题。布莱恩非常彻底的回答有什么不适合你的吗?首先,布莱恩的回答根本不是回答。仅仅因为某些东西不是惯用语并不意味着它应该避免。第二,Brian没有提到多行Shebang。事实上,如果某些东西不是惯用的,有两种可能性。第一种可能性是,你是一个不知名的天才,发现了一些深刻的新的和重要的东西,这些东西将改变人们对语言编程的看法。第二,你错过了一些关键的概念,做了一些适得其反或更糟的事情。我将让您猜猜这两个选项中哪一个更有可能。Shebang不是新的,但它们对于编写具有命令行界面的程序非常有用。我很惊讶Clojure的作者没有更努力地使Clojure脚本更好地适应。Clojure社区是反POSIX的。我该怎么办?“不要;使用clj。”如何手动编译?“不要,用莱宁根。”
#! /usr/bin/env clj
(println "Hello World!")