Ruby迭代器 - 获取下一个项目/项目

时间:2013-04-17 17:33:07

标签: ruby iterator idioms

在解析文件时,我想查找一行,然后开始解析:

inFile.each_line do |line|
    if line == 'User E'
        #start parsing next line
    end
end

你怎么建议我做这种事情?我应该回到正常的循环吗?如果我使用break,有没有办法保持迭代计数来自迭代器?

1 个答案:

答案 0 :(得分:0)

我会选择:

string = "I want to parse from here to here"
index = string.index(from)
string[index,-1].each_line do |l|
  parse
end

这种方式应该比使用拆分或为每一行添加测试更快。

如果您的文件很大,您可能希望以块的形式获取它。