Part 1:
clojure, emacs, leiningen,luminus 并学习都是干什么的以及如何使用
Part 2:
2.1. 做一个例子
lein new app clojure-noob
你会看到你创建下面这些东东:
| .gitignore
| doc
| | intro.md
| LICENSE
| project.clj
| resources
| README.md
| src
| | clojure_noob
| | | core.clj
| test
| | clojure_noob
| | | core_test.clj
-
project.clj
Leiningen的配置文件. 帮助 Leiningen 回答这样的问题, "这个 project 依赖什么?"以及 "这个Clojure program何时运行, 那个函数首先运行?" -
src/clojure_noob/core.clj
我们编码的地区.一般, your source code会在src/{project_name} 创建并编写
- The
test
显然是做test用的 -
resources
你可以存储 assets比如:images等.
2.2. 运行
打开
src/clojure_noob/core.clj
,你会看到(ns clojure-noob.core
(:gen-class))
(defn -main
"I don't do a whole lot ... yet."
[& args]
(println "Hello, World!"))
动一下小手术:
(ns clojure-noob.core
(:gen-class))
(defn -main
"I don't do a whole lot ... yet."
[& args]
(println "I'm a little teapot!"))
cd clojure-noob
lein run
会看到输出, "I'm a little teapot!"2.3. Building
创建一个可以distribute for big $$$的 JAR文件. 运行如下代码
lein uberjar
java -jar target/uberjar/clojure-noob-0.1.0-SNAPSHOT-standalone.jar
target/uberjar/clojure-noob-0.1.0-SNAPSHOT-standalone.jar
这就是屡获殊荣的Clojure程序,您可以分发和运行在几乎任何平台!
我们不必知道Leiningen究竟是如何工作的细节,
2.4.学习使用 REPL
若想运行REPL, 输入:
lein repl
nREPL server started on port 28925
REPL-y 0.1.10
Clojure 1.5.1
Exit: Control+D or (exit) or (quit)
Commands: (user/help)
Docs: (doc function-name-here)
(find-doc "part-of-name-here")
Source: (source function-name-here)
(user/sourcery function-name-here)
Javadoc: (javadoc java-object-or-class-here)
Examples from clojuredocs.org: [clojuredocs or cdoc]
(user/clojuredocs name-here)
(user/clojuredocs "ns-here" "name-here")
clojure-noob.core=>
最后一行, clojure-noob.core=>
, 告诉你你目前在 clojure-noob.core
这个命名空间。你要认识到一点,这个命名空间是源自yoursrc/ clojure_noob/ core.clj文件。尝试执行- main 函数:
clojure-noob.core=> (-main)
I'm a little tea pot!
nil
OK!!!!