//
这里出现了Clojure的两个特点:圆括号和前缀表达式。Clojure的基本语法是(fn1 arg1 (fn2 arg2 arg3))
。【函数是Clojure中的“一等公民”,它即是可执行的代码,又是一种数据(类似闭包的概念)】
ns宏用于定义当前的命名空间,:require表示导入其它命名空间,:as则是将为导入的命名空间设置别名。注意这些关键字及其用法都是在ns宏中定义的,这也是为什么说宏可以用来创造新的语法。
//向量
[1 ["b", false]]
中的[...]表示一个向量(vector),它的元素可以是任意类型,元素之间以空格或逗号分隔。
本章讲述了Clojure环境的搭建,特别是项目管理工具lein
的一般使用。通过对Noir项目骨架的分析,我们一窥Clojure的语法,接触了变量、直接量、函数、宏、命名空间的一些用法,并能结合Noir和Hiccup写出简单的页面来。下一章我们将讲解如何使用Noir编写表单页面进行交互,以及Clojure如何连接数据库,对博文进行增删改查等操作。