Ruby 等同于 Python 的 iter()/next() 是什么?
What is the Ruby equivalent of Python's iter()/next()?
在 python 中,我可以使用 iter()
从任何可迭代对象中获取迭代器;然后我可以调用 next(my_iter)
来获取下一个元素。
在ruby/rails中是否有任何等价物?
.to_enum
将生成枚举器。例如 a.to_enum
将生成枚举器,您可以从那里迭代它,例如 a.to_enum.each{|x| p x}.
或者不用循环,你可以取这样的元素
p a.to_enum.next
Ruby中有很多迭代器如下:
- 每个迭代器
- 收集迭代器
- 时间迭代器
- Upto 迭代器
- Downto 迭代器
- 步骤迭代器
- Each_Line迭代器
- 解释迭代器的类型
Each Iterator:此迭代器returns 数组或散列的所有元素。每个迭代器 returns 每个值一个一个。
语法:
collection.each do |variable_name|
# code to be iterate
continue if condition # equivalent next in python
end
在上述语法中,集合可以是范围、数组或散列。
没有循环:
words = %w(one two three four five)
my_iter = words.each
puts my_iter.next # one
puts my_iter.next # two
但是不在循环中的迭代器有什么意义呢?这是他们的全部 存在理由...
在 python 中,我可以使用 iter()
从任何可迭代对象中获取迭代器;然后我可以调用 next(my_iter)
来获取下一个元素。
在ruby/rails中是否有任何等价物?
.to_enum
将生成枚举器。例如 a.to_enum
将生成枚举器,您可以从那里迭代它,例如 a.to_enum.each{|x| p x}.
或者不用循环,你可以取这样的元素
p a.to_enum.next
Ruby中有很多迭代器如下:
- 每个迭代器
- 收集迭代器
- 时间迭代器
- Upto 迭代器
- Downto 迭代器
- 步骤迭代器
- Each_Line迭代器
- 解释迭代器的类型
Each Iterator:此迭代器returns 数组或散列的所有元素。每个迭代器 returns 每个值一个一个。 语法:
collection.each do |variable_name|
# code to be iterate
continue if condition # equivalent next in python
end
在上述语法中,集合可以是范围、数组或散列。
没有循环:
words = %w(one two three four five)
my_iter = words.each
puts my_iter.next # one
puts my_iter.next # two
但是不在循环中的迭代器有什么意义呢?这是他们的全部 存在理由...