Считайте файл в блоках в Ruby

Существует настройка безопасности в Internet Explorer, который не позволяет обновление метатега. Это находится под вкладкой безопасности, затем выберите Custom Level и Meta Tag Refresh под Разным. Если бы это отключено, это мешало бы обновлению meta работать.

Кроме способности отключить его выборочно, он автоматически отключен при установке уровня безопасности IE на 'Высокий' [наблюдаемый в IE9].

12
задан teleball 5 November 2009 в 17:11
поделиться

2 ответа

Адаптировано из Ruby Cookbook, страница 204:

FILENAME = "d:\\tmp\\file.bin"
MEGABYTE = 1024 * 1024

class File
  def each_chunk(chunk_size = MEGABYTE)
    yield read(chunk_size) until eof?
  end
end

open(FILENAME, "rb") do |f|
  f.each_chunk { |chunk| puts chunk }
end

Отказ от ответственности: я новичок в Ruby и не тестировал это.

20
ответ дан 2 December 2019 в 04:53
поделиться
FILENAME="d:/tmp/file.bin"

class File
  MEGABYTE = 1024*1024

  def each_chunk(chunk_size=MEGABYTE)
    yield self.read(chunk_size) until self.eof?
  end
end

open(FILENAME, "rb") do |f|
  f.each_chunk {|chunk| puts chunk }
end

Работает, мбархау . Я просто переместил определение константы в класс File и добавил пару «self» для ясности.

-1
ответ дан 2 December 2019 в 04:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: