2013-04-17 61 views
0

我有下面的代码...限制块循环?

parser = AppleEpf::Parser.new('tmp/incremental/itunes20130410/application') 
parser.process_rows { |app| 
    Resque.enqueue(AddApp, app) 
} 

眼下,该文件(tmp/incremental/itunes...)中有超过90,000行。出于测试目的,将process_rows块调用限制在几行(比如说100)是很好的。

有没有办法限制块中的循环?

仅供参考,这里的process_rows方法在宝石:

def process_rows(&block) 
    File.foreach(@filename, RECORD_SEPARATOR) do |line| 
    unless line[0].chr == COMMENT_CHAR 
     line = line.chomp(RECORD_SEPARATOR) 
     block.call(line.split(FIELD_SEPARATOR, -1)) if block_given? 
    end 
    end 
end 
+0

你可以用'yield',而不是'block.call'如果你在谈论提供给方法的默认块。 – tadman

回答

1

我认为你正在寻找的break关键字。