Clojure基础课程1-如何开始使用Clojure语言编程

猪小花1号2018-08-29 10:05

作者:李诺

Clojure (发音 ['kləʊʒə(r)]) 是一种编程语言:

  • 函数式 语言, 语法接近Lisp
  • (一般)运行在JVM
  • 动态类型

安装

  • 首先我们需要确认是否装了java,没有的
  • 下载Clojure的最新版本,并解压 http://clojure.org/downloads
  • 假设我们的版本号是[Version],那么只需在解压的目录下运行 java -cp clojure-[Version].jar clojure.main

现在我们就进入了一个叫做REPL (read-eval-print loop 读取-求值-打印循环)的界面,现在我们可以试着输入一些Clojure代码了!


语法

在Clojure里,每一对括号 (...) 就是一个最基本的代码单元:

(+ 1 2)

(println "Hello World!")

函数式语言的一大特征就是函数是“一等公民”。在Clojure中,如果要定义一个函数, 比如

square(x)=xx

那么就要用到 defn (一个Clojure的 )

(defn square [x] (* x x))

这里,defn是定义函数的宏名,square是函数名,[...]中按顺序可以写任意数量的参数(比如[x y z]),最后就是写上函数的定义部分了。代码规范的同学,这时候可以加上一句注释

(defn square "square function" [x] (* x x))

这样当其他人需要知道 square 这个函数是做什么的时候,只要输入

(doc square)

就能查看square的注释信息。

此外,查看类型也是非常重要的,这里我们要用到函数 class

(class 1)

为了更方便的编写Clojure的程序,管理Clojure项目,我们需要安装一些其他的工具,比如最常用的一个项目管理工具Leiningen,和一个挺不错的IDE IntelliJ IDEA+Cursive插件。Cursive插件使用需要licence,可以申请免费Non-commercial的。

几个常用的lein命令:

lein new "name"

--新建名为name的项目

lein repl

--打开REPL

lein run

---编译并运行目录下的项目,寻找定义好的-main (等于Java中的main方法)

此外还有一些很有用的文档

可以查找的中文API:http://clojure-api-cn.readthedocs.org/en/latest/

Cheatsheet:http://clojure.org/cheatsheet

网易云新用户大礼包:https://www.163yun.com/gift

本文来自网易实践者社区,经作者李诺授权发布。