Clojure Leiningen
Clojureことはじめ
"Leiningen is the easiest way to use Clojure. With a focus on project automation and declarative configuration, it gets out of your way and lets you focus on your code."
Leiningen
leiningen をインストール
$ brew install leiningen
プロジェクトを作成
$ lein new hello
ディレクトリ構成は以下
$ tree . ├── CHANGELOG.md ├── LICENSE ├── README.md ├── dev-resources ├── doc │ └── intro.md ├── project.clj ├── resources ├── src │ └── hello │ └── core.clj ├── target │ ├── classes │ │ └── META-INF │ │ └── maven │ │ └── hello │ │ └── hello │ │ └── pom.properties │ └── stale │ └── extract-native.dependencies └── test └── hello └── core_test.clj 14 directories, 9 files
project.cljを書き換え
cat project.clj (defproject hello "0.1.0-SNAPSHOT" :description "FIXME: write description" :url "http://example.com/FIXME" :license {:name "Eclipse Public License" :url "http://www.eclipse.org/legal/epl-v10.html"} :dependencies [[org.clojure/clojure "1.7.0"]] :main hello.core)
lein repl で 実行。lein --help すると "Start a repl session either with the current project or standalone."
$ lein repl nREPL server started on port 52522 on host 127.0.0.1 - nrepl://127.0.0.1:52522 REPL-y 0.3.7, nREPL 0.2.10 Clojure 1.7.0 Java HotSpot(TM) 64-Bit Server VM 1.8.0_65-b17 Docs: (doc function-name-here) (find-doc "part-of-name-here") Source: (source function-name-here) Javadoc: (javadoc java-object-or-class-here) Exit: Control+D or (exit) or (quit) Results: Stored in vars *1, *2, *3, an exception in *e hello.core=> fo #Tabで候補が表示される foo for force format hello.core=> (foo "delaemon") delaemon Hello, World! nil