可以在Ruby中检查迭代器的位置吗?
有没有办法获得迭代器的位置(它迭代了多少次) 或者你必须明确计算:可以在Ruby中检查迭代器的位置吗?,ruby,foreach,iterator,ruby-1.9.2,Ruby,Foreach,Iterator,Ruby 1.9.2,有没有办法获得迭代器的位置(它迭代了多少次) 或者你必须明确计算: values = (1..100) counter = 0 values.each do |value| if counter % 10 == 1 then puts counter end counter += 1 end 有没有更干净的方法 Ruby 1.9.2使用 或者你可以用一个更酷的替代品 values.each.with_index do |value, idx| # work end 我之所以称之为
values = (1..100)
counter = 0
values.each do |value|
if counter % 10 == 1 then puts counter end
counter += 1
end
有没有更干净的方法
Ruby 1.9.2使用
或者你可以用一个更酷的替代品
values.each.with_index do |value, idx|
# work
end
我之所以称之为cooler,是因为#with_index
相对来说不太为人所知,它可以与map
(和其他方法)相结合,产生有趣的结果。使用
或者你可以用一个更酷的替代品
values.each.with_index do |value, idx|
# work
end
我之所以称之为cool,是因为
#with_index
相对来说不太为人所知,它可以与map
(和其他方法)结合使用以产生有趣的结果。。with_index
也适用于散列:散列。每个_键。with_index|key,idx
@bs偶:此外,它还适用于任何返回枚举数的方法:)两个(次要)注意:1)每个带有索引的\u也可以与映射一起使用(Ruby>=1.8.7)。2) values.each.with\u index
实际上表现为values.map.with\u index
@tokland:谢谢!不知怎的,我从来没有尝试过将map
与每个带索引的\u:)一起使用。带索引的\u
也可以用于哈希:hash.each\u key.with\u index | key,idx |
@bs偶:此外,它可以与任何返回枚举数的方法一起使用:)两个(次要)注释:1)每个带索引的\u也可以与map
(Ruby>=1.8.7)。2)值。每个.with\u index
实际上表现为值。map.with\u index
@tokland:谢谢!不知何故,我从未尝试将map
与each\u与索引一起使用(
:)
values.each.with_index do |value, idx|
# work
end