9、Ruby数据结构与算法:集合、迭代器和列表详解

Ruby数据结构与算法:集合、迭代器和列表详解

1. 迭代控制的替代方案

在编程中,控制迭代主要有两种替代方案:
- 内部迭代 :由集合自身控制迭代过程。
- 外部迭代 :由客户端控制迭代过程。

迭代机制可以存在于三个地方:
- 语言层面 :以控制结构的形式存在。
- 集合内部 :作为一组操作存在。
- 独立的迭代器对象 :具有特定的操作。

通过将控制替代方案与迭代机制的存在位置相结合,产生了六种设计集合迭代设施的替代方案,具体如下表所示:
| 控制方式 | 存在位置 | 描述 |
| — | — | — |
| 内部控制 | 语言 | 语言本身提供的内部迭代机制 |
| 外部控制 | 语言 | 语言提供的外部迭代机制,如 for/in 循环 |
| 内部控制 | 集合 | 集合自身的内部迭代操作 |
| 外部控制 | 集合 | 集合提供的外部迭代操作(Ruby不支持) |
| 内部控制 | 迭代器对象 | 迭代器对象的内部迭代操作 |
| 外部控制 | 迭代器对象 | 迭代器对象的外部迭代操作 |

2. Ruby中的迭代方式

Ruby支持六种迭代设计替代方案中的五种,不支持存在于集合中的外部迭代。以下是Ruby中五种不同的迭代方式:

2.1 语言支持的内部迭代

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值