3、Ruby编程:核心类使用与自定义类设计

Ruby编程:核心类使用与自定义类设计

1. Ruby核心集合类的使用

1.1 选择合适的集合类

Ruby的集合类是编程乐趣的来源之一。在大多数情况下,选择使用哪种集合类相当直接:
- 若需要一个简单的值列表,用于迭代,或将集合用作队列或栈,通常使用数组。
- 若需要将一个或多个对象映射到一个或多个对象,通常使用哈希。
- 若有一个大的对象列表,想查看给定对象是否包含在其中,通常使用集合。

在某些情况下,使用数组或哈希均可。例如,迭代小列表时:

# 数组方法
[[:foo, 1], [:bar, 3], [:baz, 7]].each do |sym, i|
  # ...
end

# 哈希方法
{foo: 1, bar: 3, baz: 7}.each do |sym, i|
  # ...
end

从设计角度看,由于不涉及索引操作,使用数组更简单。但在Ruby中,哈希方法语法更简洁,是惯用方式。

1.2 实现内存数据库示例

假设有专辑名称、曲目编号和艺术家名称的列表,同一专辑和曲目可能有多个艺术家。要设计一个简单的查找系统,根据专辑名称找到参与该专辑任何曲目的所有艺术家,根据专辑名称和曲目编号找到参与该特定曲目的艺术家。

1.2.1 多哈希方法
album_infos = 100.times.flat_map do |i|
  10.times.map do |j|
    ["Al
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值