Ruby 迭代器与可枚举对象全解析
1. 迭代器基础操作示例
在 Ruby 中,迭代器是非常强大的工具,它可以帮助我们高效地处理集合中的元素。下面是一个对字符串进行一系列操作的示例代码:
chars = "hello world".tap {|x| puts "original object: #{x.inspect}"}
.each_char .tap {|x| puts "each_char returns: #{x.inspect}"}
.to_a .tap {|x| puts "to_a returns: #{x.inspect}"}
.map {|c| c.succ } .tap {|x| puts "map returns: #{x.inspect}" }
.sort .tap {|x| puts "sort returns: #{x.inspect}"}
这个代码展示了如何对字符串进行字符拆分、转换为数组、对每个字符进行后继操作以及排序等操作。每一步操作后,使用 tap 方法输出当前操作的结果,方便我们观察整个处理过程。
2. 迭代器的自动资源释放功能
迭代器还有一个重要的功能是自动资源释放。以 File.open 方法为例:
- 如果调用 File.open 时没有关联块,它会返回一个 File 对象,关闭文件的责任就交给了调用代码。
超级会员免费看
订阅专栏 解锁全文

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



