7.7 小测验

(1) Clojure是纯粹的函数式编程语言吗?

  a) 对,它是纯粹的函数式编程语言。

  b) 不对,它是函数式编程语言,但不是纯粹的函数式编程语言,因为它允许修改状态。

  c) 不对,但Clojure是纯粹的OOP语言。

  d) 不对,Clojure不是函数式编程语言。

(2) 下面的代码能够在Clojure REPL中运行吗?

  1. (10)

  a) 能。这些代码合法,将返回10。

  b) 不能,因为最后一个列表项必须是函数。

  c) 不能,因为第一个列表项不是函数。

  d) 以上答案都不对。

(3) 对于整数,Clojure默认将其视为哪种数据类型(如果这个整数在该数据类型的可能取值范围内)?

  a) 基本类型long

  b) 包装类java.lang.Long的实例。

  c) 基本类型int

  d) 包装类java.lang.Integer的实例。

(4) 下面的程序的输出是什么?

  1. (println + 25 25)

  a) 它打印50

  b) 它打印指向函数+的引用以及"25 25"

  c) 引发异常。

  d) 以上答案都不对。

(5) 如果你需要一个可随机访问其元素的可迭代集合,该选择使用列表还是向量?

  a) 向量。

  b) 列表。

  c) 向量和列表都可以。

  d) 以上答案都不对。