Ответ 1
Вы можете использовать StringIO
(1.8.7, 1.9.3), чтобы создать IO
(1.8.7, 1.9.3) из объекта (то есть объект, который действует как файл):
file = StringIO.new("123")
line = file.readline
file.close
Можно ли преобразовать строку в файл без записи на диск?
Я хотел бы повсеместно работать с строкой файла:
input = "123"
if (ARGV.length == 1)
input = File.open(ARGV[0])
#do stuff with input
end
Можно ли создать файл из строки (без записи на диск)? В противном случае я не смог бы выполнить input.readline()
, когда это строка.
Вы можете использовать StringIO
(1.8.7, 1.9.3), чтобы создать IO
(1.8.7, 1.9.3) из объекта (то есть объект, который действует как файл):
file = StringIO.new("123")
line = file.readline
file.close
StringIO
может использоваться для создания файлового интерфейса для строк.
StringIO хорош, вы также можете сделать это с помощью блока:
StringIO.open(string) do |file|
# do stuff here
end
Мне нравится эта над над file.close