第 7 章 Clojure
Clojure与本书介绍的其他语言大不相同,其灵感主要来自20世纪50年代末推出的Lisp编程语言。Lisp在技术上与时俱进,现在依然没有过时。Common Lisp和Scheme无疑是当前最流行的两种Lisp方言。Clojure也是一种Lisp方言,但其设计深受这两种方言的影响。
不同于Java和Scala,Clojure是一种动态语言:变量的类型不固定;编译时编译器不执行类型检查。将变量传递给函数时,如果它与函数中的代码不兼容,将在运行阶段引发异常。需要指出的是,不同于本书介绍的其他语言,Clojure并不是面向对象语言,但能够与Java和JVM互操作,因为它能够创建对象实例。另外,它还能够生成类,让其他与Java兼容的语言能够运行它生成的字节码。
本章介绍如下主题:
- 安装Clojure;
- Clojure的交互式shell——读取-评估-打印-循环(REPL);
- Clojure基础知识;
- 使用类;
- Clojure代理系统(agent system)。
