Ruby数据结构与算法:集合、迭代器和列表详解
1. 迭代控制的替代方案
在编程中,控制迭代主要有两种替代方案:
- 内部迭代 :由集合自身控制迭代过程。
- 外部迭代 :由客户端控制迭代过程。
迭代机制可以存在于三个地方:
- 语言层面 :以控制结构的形式存在。
- 集合内部 :作为一组操作存在。
- 独立的迭代器对象 :具有特定的操作。
通过将控制替代方案与迭代机制的存在位置相结合,产生了六种设计集合迭代设施的替代方案,具体如下表所示:
| 控制方式 | 存在位置 | 描述 |
| — | — | — |
| 内部控制 | 语言 | 语言本身提供的内部迭代机制 |
| 外部控制 | 语言 | 语言提供的外部迭代机制,如 for/in 循环 |
| 内部控制 | 集合 | 集合自身的内部迭代操作 |
| 外部控制 | 集合 | 集合提供的外部迭代操作(Ruby不支持) |
| 内部控制 | 迭代器对象 | 迭代器对象的内部迭代操作 |
| 外部控制 | 迭代器对象 | 迭代器对象的外部迭代操作 |
2. Ruby中的迭代方式
Ruby支持六种迭代设计替代方案中的五种,不支持存在于集合中的外部迭代。以下是Ruby中五种不同的迭代方式:
超级会员免费看
订阅专栏 解锁全文
1

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



