Что делает метод.rewind для Tempfile в ruby?
Я просмотрел эти документы и Google, и не могу найти цель .rewind
и чем он отличается от .close
в контексте работы с Tempfile
,
Кроме того, почему .read
вернуть пустую строку перед перемоткой?
Вот пример:
file = Tempfile.new('foo')
file.path # => A unique filename in the OS's temp directory,
# e.g.: "/tmp/foo.24722.0"
# This filename contains 'foo' in its basename.
file.write("hello world")
file.rewind
file.read # => "hello world"
file.close
file.unlink # deletes the temp file
1 ответ
Решение
Перемотка назад - узнайте больше об этом на рубиновой документации
IO# Close - Подробнее о рубиновых документах
Читайте - Читайте больше на рубиновых документах
Резюме
перемотка
Позиционирует IOS в начале ввода, сбрасывая белье на ноль. Перемотка сбрасывает номер строки до нуля
f = File.new("testfile")
f.readline #=> "This is line one\n"
f.rewind #=> 0
f.lineno #=> 0
f.readline #=> "This is line one\n"
IO# близко
Закрывает IOS и сбрасывает все ожидающие записи в операционной системе.читать([length [, outbuf]])
Читает байты длины из потока ввода-вывода. Длина должна быть неотрицательным целым числом или нулем. Если длина равна нулю, он возвращает пустую строку ("").