[#38724] 祝日判定用メソッド — Take_tk <ggb03124@...>

たけ(tk)です

19 messages 2003/11/02

[#38756] ruby-dev summary 21730-21822 /draft — Minero Aoki <aamine@...>

青木です。

14 messages 2003/11/05

[ruby-list:38754] Re: [Win32] mswin32 で rb_warn()

From: Tietew <tietew-ml-ruby-list@...>
Date: 2003-11-05 03:07:28 UTC
List: ruby-list #38754
On Wed, 5 Nov 2003 01:03:56 +0900
In article <20031105005856.F1A3.MAS@mas.ath.cx>
[[ruby-list:38752] [Win32] mswin32  で rb_warn()]
Masahiro Kawata <mas@mas.ath.cx> wrote:

> 自分の作成しているwinアプリにruby-1.8.0-mswin32を組み込んでいます。
> 
> そこで気付いたのですが、
> rb_warn()を何回か行っていると、
> Bad file descriptor といって例外を返すようです。
> 決まった回数(大きさ?)で例外が発生するので
> stderr の flush 絡みかと思うのですが、原因までは追いきっていません。

コンソールを持っていないと stderr が存在しない(ファイルが開かれ
ていない)ので Errno::EBADF が発生します。Kernel#gets などは同じ
ように読んだ瞬間に EBADF になります。

1.8 から rb_stderr($stderr) に write メソッドを定義したオブジェ
クトを代入しておくとそこに出力されるようになったので,あとは 
OutputDebugString なり独自のコンソールウィンドウなりに出力させれ
ばよいでしょう。

cf. http://www.tietew.net/becky/beckrb/
なお,こいつは 1.6.x から開発していた関係から,stderr のリダイレ
クト(無名パイプによる)も平行してやっています。


—[ Tietew ]——————————————————————————
 メ : tietew@tietew.net / tietew@raug.net / tietew@masuclub.net
ホペ: http://www.tietew.net/     Tietew Windows Lab.
      http://www.masuclub.net/   鱒倶楽部
指紋: 26CB 71BB B595 09C4 0153  81C4 773C 963A D51B 8CAA


In This Thread

Prev Next