我有下面的代码...限制块循环?
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
你可以用'yield',而不是'block.call'如果你在谈论提供给方法的默认块。 – tadman