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}"}
这段代码的执行流程如下:
1. 首先对 "hello world" 进行 tap 操作,输出原始对象。
2. 使用 each_char 将字符串转换为字符迭代器。
3. 用 to_a 将迭代器转换为数组。
4. 通过 map 对数组中的每个字符应用 succ 方法。
5. 最后使用 sort 对数组进行排序。
超级会员免费看
订阅专栏 解锁全文
13

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



