以前、

$stderr = STDOUT
または
$stderr.reopen(error_file)

のようにして、エラー出力を変更する話がありましたが
これをDos窓(Windowsの)でやってもうまくいきません (;_;)


D:\Net\ruby\chk.rb>more t.rb

$stderr.reopen(STDOUT)

$stderr.print "kaba\n"

if (TRUE) {
  p "aho"
}

D:\Net\ruby\chk.rb>ruby t.rb
t.rb:5: parse error
t.rb:7: parse error

D:\Net\ruby\chk.rb>ruby t.rb > t
t.rb:5: parse error
t.rb:7: parse error

D:\Net\ruby\chk.rb>type t

D:\Net\ruby\chk.rb>


のような感じになります。

そもそも、パースエラーなどの文法チェックの出力はリダイレクト
できないのでしょうか??

Dos窓では、

ruby test.rb >& logfile

のように、エラー出力のリダイレクトができないので
エラーが多数行に渡ってスクロールしていってしまうと
どうしようもないのでした。(;_;)

vzエディターを使えという意見もありますが、なんとか
簡単にエラーログを取る方法はないでしょうか……


M.Kanemitsu