Ruby 中什么是迭代器 (Iterator)?

· 约 3 分钟读完 · 第 105 / 199 章

推荐答案

在 Ruby 中,迭代器(Iterator)是一种方法,它允许你遍历集合(如数组、哈希等)中的每个元素,并对每个元素执行特定的操作。Ruby 提供了多种内置的迭代器方法,如 each、map、select 等,这些方法使得遍历集合变得非常简洁和直观。

本题详细解读

什么是迭代器?

迭代器是一种设计模式,它允许你按顺序访问集合中的元素,而不需要暴露集合的内部结构。在 Ruby 中,迭代器通常以方法的形式出现,这些方法接受一个代码块(block),并在集合的每个元素上执行这个代码块。

Ruby 中的常见迭代器

  1. each 方法
    each 是最常用的迭代器之一。它遍历集合中的每个元素,并将元素传递给代码块。

    输出:

  2. map 方法
    map 方法遍历集合中的每个元素,并将代码块的返回值组成一个新的数组。

    输出:

  3. select 方法
    select 方法遍历集合中的每个元素,并返回一个新的数组,其中包含所有使代码块返回 true 的元素。

    输出:

自定义迭代器

除了使用内置的迭代器方法,你还可以在自定义类中实现迭代器。通常,这可以通过定义 each 方法来实现。

输出:

总结

Ruby 的迭代器提供了一种简洁而强大的方式来遍历集合。通过使用内置的迭代器方法或自定义迭代器,你可以轻松地对集合中的元素进行操作。