Я использую PHP для генерации файлов определенного формата, и я решил попробовать то же самое с Ruby. Чтобы создать файл с PHP, я использую следующий код:Генерация отформатированных файлов с Ruby в том, как это можно сделать с помощью PHP
<? include 'functions_and_settings.php'; ob_start() ?>
some parts of another format
<? // php functions generating file content,
// including other formatted files ?>
some parts
<? file_put_contents('output.fmt', ob_get_clean()) ?>
Возможно ли это с Ruby? Как бы вы это сделали?
Update
Следующий код эквивалентен PHP один:
require 'erb'
require 'my_functions_and_settings'
template = ERB.new <<-EOF
some text lines of another format
<% #functions generating content,
# inclusion of formatted files %>
some text lines of another format
EOF
File.open("output.fmt", "w") do |f|
f.puts template.result(binding)
end
# or may be: File.new("file.txt") << template.result(binding)
Есть ли способ сделать ruby file.erb >> output.fmt
?
Update2
распределение Стандартный рубин имеет erb
процессор
/usr/bin/erb my_formatted_file.erb
Можете ли вы сделать ваш пример более конкретно? Откуда берутся ваши данные? Каким будет пример выходного файла? Ruby может быть довольно изящным для этого типа работы, но без более подробной информации довольно сложно разобраться, как помочь. – glenatron
Предположим, что я генерирую текстовый файл. Он используется другой программой, которая не поможет. Проблемой, с которой я столкнулся, является выходная буферизация в том, как это позволяет PHP. Я попробую ERB для этой задачи. – Andrei