作者: 閑舎
日時: 2006/9/14(17:00)
kbk@... (Bruce.) さん wrote.

> んーと、「こけた」というのがよくわからないのですが、結局どういう
> 操作をしてどうなったのでしょうか?

ご指摘ありがとうございます。あれ、できるのかなと、もう一度見直してみまし
た。

exerb で実行ファイルを作ってデスクトップに置き、データファイルをドラッグ
し、実行ファイルのアイコンの上でドロップするんですが、出力するファイル 
foo.txt が影も形も見えず、という時点でバッチに書いたほうが早いじゃん、方
向転換したのですが、どうも

  io.open("foo.txt", "w")

というような書き方で書くと、

  ruby test.rb

ではカレントディレクトリに出力されるところ、デスクトップに置いたからそう
なるのかわからないのですが、exerb にかけた test.exe は今見直したら

  C:\Documents and Settings\raku\デスクトップ\foo.txt

でなく

  C:\Documents and Settings\raku\foo.txt

に出力されていたことがわかりました。というわけで、exerb にかけるスクリプ
トは、

lines = ""
io = open(ARGV[0])
while io.gets
  lines = lines + sprintf("%4d %s", $., $_)
end
io.close
io.open(ARGV[0] + ".txt", "w")
io.puts lines
io.close

とデータファイルのパスをそのままもらって書くと無事カレントディレクトリに
出力されました。なーんだ(^^;。

--
本田博通(閑舎)
テキストとスクリプトの http://www.rakunet.org/TSNET/