J'utilise PHP pour générer des fichiers de certains format spécial, et je l'ai décidé d'essayer la même chose avec Ruby. Pour faire un fichier avec PHP, j'utilise le code suivant:Génération de fichiers formatés avec Ruby dans la manière dont il peut être fait avec 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()) ?>
Est-il possible de faire avec Ruby? Comment ferais-tu ceci?
Mise à jour
Le code suivant est équivalent au PHP un:
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)
est-il un moyen de faire ruby file.erb >> output.fmt
?
Update2
la distribution standard Ruby a erb
processeur
/usr/bin/erb my_formatted_file.erb
Pouvez-vous rendre votre exemple plus concret? D'où viennent vos données? À quoi ressemblerait un exemple de fichier de sortie? Ruby peut être assez élégant pour ce type de travail, mais sans beaucoup plus de détails, il est assez difficile de trouver comment aider. – glenatron
Supposons que je génère un fichier texte. Il est utilisé par un autre programme sachant qui ne va pas vraiment aider. Le problème auquel je suis confronté est la mise en mémoire tampon en sortie de la façon dont PHP permet de faire. Je vais essayer ERB pour cette tâche. – Andrei