タイトル | : Re^2: TaskPrizeからの書き出しと印刷 |
投稿日 | : 2008/02/29(Fri) 12:51 |
投稿者 | : onanpo |
Rubyの入門書を入手してさっそく試してみました。
ItemWrite.rbに手を加えて個別ファイルに書き出すことに成功しました。パス指定なしで書き出してどこにファイルができているか不安でしたが、プロジェクトと同じフォルダに書き出されますね。
タイトルにファイル名に使えない文字が入っているとまずいのですが、とりあえず今書き出したいプロジェクトで使っている'/'を'_'に書き換える処理も入れました。完全にするには置換部分の正規表現の検討が必要です。
同じ悩みをお持ちの方もおられかもしれませんので、書き換えた内容を参考までに付けておきます。
Rubyに詳しい方、もっとスマートな方法のアイデアがあれば教えてください。
# print_itemメソッド定義
def print_item(item)
fname=item.title+".txt"
fname=fname.gsub(/\//,'_')
open(fname,"w") do |io|
io.print "======================================================================\n"
io.print item.title, "\n"
io.print "======================================================================\n"
item.documents.each do |doc|
io.print "■"
title = doc.title
if title == ""
io.print "文書(", doc.index + 1, ")"
else
io.print title
end
io.print "\n"
io.print doc.text, "\n"
end
end
end