Генерация отформатированных файлов с помощью Ruby так, как это можно сделать с помощью PHP - PullRequest
1 голос
/ 04 июня 2010

Я использую 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? Как бы вы это сделали?


Обновление

Следующий код эквивалентен коду 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

Стандартный дистрибутив Ruby имеет erb процессор

/usr/bin/erb  my_formatted_file.erb

1 Ответ

1 голос
/ 04 июня 2010

Есть несколько способов сделать это, но наиболее распространенным является, вероятно, erb . Это позволяет вам предоставить шаблон, а затем встроить команду ruby ​​в символы <%%>. Во многом так же, как вы делаете с PHP. Именно так большинство приложений Ruby-On-Rails отображают свои представления.

Существует краткий обзор 19 различных шаблонизаторов ruby ​​(некоторые из которых предназначены для XML / HTML) здесь

...