From: Masao Kanemitsu Date: 1998-01-29T16:08:38+09:00 Subject: [ruby-list:6104] Re: パースエラー等の嵐を Dos窓で受けるには ...? <199801290451.NAA16594@eban.ase.ptg.sony.co.jp> の、 "[ruby-list:6097] Re: パースエラー等の嵐をDos窓で受けるには...?" において、 "WATANABE Hirofumi "さんは書きました: > :$stderr.reopen(error_file) > : > :のようにして、エラー出力を変更する話がありましたが > :これをDos窓(Windowsの)でやってもうまくいきません (;_;) > > この方法は ruby 処理系自身には影響を及ぼしません. > だから rubytest.rb のように sub process で ruby を呼び出すか, > > $stderr.reopen($stdout) > system "ruby -x #$0" > __END__ > #!ruby > $stderr.print "kaba\n" > if (TRUE) { > p "aho" > } す、すごい(^o^)/ なぜかruby: Can't chdir to #$0"といわれますがバージョンを上げて 再度試みます。system()関係がちょっと変なんです。Dosはつらい。 > djgpp の redir のようなコマンドを使えば可能です. > でも bash を使うのが一番簡単. redirというのよさそうですね。 究極はbashなのでしょう…… > |この方法は ruby 処理系自身には影響を及ぼしません. > > しかし,作者はruby処理系のエラーメッセージにも影響を及ぼすべ > きだと考えています.というわけで,バグです.^^;;; > あ,パースエラーはreopenの設定より時間的に前に出るんで無理で > すよね.そりゃそうだ.コマンドラインオプションで指定するとい > うことも考えられないでもないですが,なんかちょっと違う気がし > ますね. 残念。 > もしNTのDOS窓でcygwin版を使ってるんだったら、DOS窓のプロパティで画面 > バッファのサイズを1000行とかに設定してしまうのが一番楽かも。95だと駄 > 目だけど。 そうなんですよねぇ。95がバカだと思います。できないはずはないと何度も 探しましたが95のDos窓のバッファを簡単に変える方法はないようです。でも 何かのプロパティの変更でできたような気も... 探してみます。 M.Kanemitsu