Clojure中的多态与并发编程
1. Clojure集合与函数式编程概述
在Clojure中,集合和函数式编程是非常强大的工具,它们让我们能够采用一种全新的编程范式。以下是我们目前所了解的内容:
- 不可变集合机制 :了解了每种Clojure集合类型的最佳使用场景。
- 序列抽象 :知道许多Clojure函数如何基于序列抽象来处理集合。
- 函数式编程优势 :能够编写更简单的程序,这些程序在并行环境中表现更好,并且通过惰性求值节省资源。
例如,对于奇数序列的操作:
(take 1 odd-numbers)
;; => (1)
(take 2 odd-numbers)
;; => (1 3)
(take 3 odd-numbers)
;; => (1 3 5)
(take 4 odd-numbers)
;; => (1 3 5 7)
(take 10 odd-numbers)
;; => (1 3 5 7 9 11 13 15 17 19)
需要注意的是,某些数字会先被计算,但我们不应期望或依赖在特定时间预计算特定数量的元素。而且,当我们请求相同数量的元素时,由于已经缓存了计算结果,不会再次执行计算。
2. 多态性概述
多态性是一种让我们能够复用代码的概念,它使我们可以使用相同的API与不同的对象进行交互。在Clojure中,有两种实现多态性的重要概念:
超级会员免费看
订阅专栏 解锁全文
625

被折叠的 条评论
为什么被折叠?



