У меня есть следующий код ...Предельная петля блока?
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