ログ解析ツールを rubyで書いて Exerbで exe化してみたのでメモっておく。Exerb関連のドキュメントってあまりないみたいだし何かの参考になれば。あ,Exerbのバージョンは 3.2.0です。
exe化
まずレシピファイルの生成。手動で .exrファイルを作ってもいいみたいだが,とりあえず自動で作ってみる。
[bash]
% ruby -r /mingw/lib/ruby/site_ruby/1.8/exerb/mkexr foo.rb
[/bash]
次に,といっても最終工程だけど exe化。
[bash]
% exerb -c gui foo.exr
[/bash]
-c guiオプションは GUI化するため。つけなくても問題ないが,exe実行時に DOS窓が開いてしまってかっこ悪いのでつけておいたほうがいい。生成された foo.exeを実行してみて問題ないようなら OK。
__FILE__や $0の扱い
exerbでは通常と異なり __FILE__や $0に実行ファイルのパスが入らないので,実行ファイルと同じ場所に結果ファイルを出力したい場合などに困ったことになる。というか実際困った。いくら探しても結果ファイルが見つからないんだもの。最初はバグかと思ったよ。やっと見つけたと思ったら C:?Documents and Settings配下に出来てて意味分からないし。これは
- http://lists.sourceforge.jp/mailman/archives/exerb-developer/2003-September/000374.html
からのスレッドに対処法が説明されている。結論としては
if defined?(Exerb) and Exerb.runtime?
ppath=Exerb.filepath
else
ppath=__FILE__
end
のようなコードで,exerbで exe化された場合もそうでない場合も実行ファイルのパスを取得することができる。