Ruby 编程中的循环、迭代器与条件语句
1. 循环与迭代器中的 each 和 yield
在使用 Enumerable 模块的方法调用自定义的 each 方法时,会发生一些有趣的事情。 Enumerable 模块中的方法(如 min 、 max 、 collect 等)会将一个代码块传递给 each 方法。这个代码块每次期望接收一个数据项(即集合中的每个元素)。
下面是一个 each 方法的示例:
def each
@items.each{ |i|
yield( i )
}
end
这里的 yield 关键字会执行传递给 each 方法的代码块,也就是执行 Enumerable 模块中 min 、 max 或 collect 等方法提供的代码。这意味着这些方法的代码可以用于各种不同类型的集合。你只需要将 Enumerable 模块包含到你的类中,并编写一个 each 方法来确定 Enumerable
超级会员免费看
订阅专栏 解锁全文
411

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



