Ruby 迭代器的类型
迭代这个词意味着多次做一件事,这就是 迭代器的作用。有时,迭代器被称为自定义循环。
- “迭代器 “是Ruby中面向对象的概念。
- 用更简单的话来说,迭代器是 由集合(Arrays, Hashes等)支持的方法。集合是存储一组数据成员的对象。
- Ruby 迭代器一个接一个地返回一个集合中的所有元素。
- Ruby迭代器是 “可链式 “的,即在彼此的基础上增加功能。
在Ruby中,有许多迭代器,如下 所示:
- Each迭代器
- Collect迭代器
- Times迭代器
- Upto迭代器
- downto迭代器
- step迭代器
- Each_Line 迭代器
- Each 迭代器: 这种迭代器返回数组或哈希的所有元素。每个迭代器逐一返回每个值。
语法:
在上述语法中,集合可以是范围、数组或哈希。
例子:
输出:
- Collect 迭代器: 这个迭代器返回一个集合的所有元素。collect 迭代器返回整个集合,不管它是数组还是哈希。
语法:
collect方法不需要总是与一个块相关联。collect方法返回整个集合,不管它是一个数组还是一个哈希值。
例子:
输出:
- Times迭代器: 在这个迭代器中,一个循环被植入了特定的时间数。循环最初从零开始,一直运行到比指定数字少的那一个。
这可以在没有迭代变量时使用。我们可以通过使用标识符周围的竖条来添加一个迭代变量。
语法:
这里 t 是指定的数字,用来定义迭代次数。
示例:
输出:
- Upto 迭代器: 该迭代器采用从上到下的方法。它在迭代中包括顶部和底部变量。
语法:
这里的迭代从顶部开始,在底部结束。需要记住的是, 底层变量的值总是 大于顶层变量的值,如果不是这样,那么它将什么也不返回。
例子:
输出:
- downto迭代器: 该迭代器采用从下到上的方法。它包括迭代中的顶部和底部变量。
语法:
这里的迭代从bottom开始,在顶部结束。需要记住的一点是, 底层变量的值总是小于顶层变量的值,如果不是这样,那么它将什么也不返回。
例子:
输出:
- step迭代器: Ruby步骤迭代器用于迭代用户必须跳过的指定范围。
语法:
这里rng是整个迭代操作将被跳过的范围。
例子:
输出:
- Each_line 迭代器: Ruby each_line 迭代器用于迭代字符串中的一个新行。
语法:
例如:
输出: