Многострочные шебанги в Clojure? - PullRequest
5 голосов
/ 08 марта 2011

Цель: создать скрипт Clojure, который запускается -main при запуске как ./script.clj.

. Ближайшее, что я получил, это

#!/bin/bash
#(comment
exec clj -m `basename $0 .clj` ${1+"$@"}
exit
#)
(defn -main [args]
   (println args))

Но Clojure не позволяет-Лисп-код внутри многострочных комментариев, и у Clojure нет синтаксиса #| ... |# Common Lisps.

Ответы [ 2 ]

6 голосов
/ 08 марта 2011

Синтаксис неясен, но работает. От 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 "!")))
0 голосов
/ 22 февраля 2018

Поскольку Clojure CLI стал доступен, используйте

#! /usr/bin/env clj

(println "Hello World!")
...