clojure从零开始(一)

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!!!!

你可能感兴趣的:(clojure从零开始(一))