From: Kazuhiro Yoshida Date: 2003-07-28T22:36:11+09:00 Subject: [ruby-dev:20973] Re: $stdin (Re: ruby 1.8.0 preview5) もりきゅうです。 Kazuhiro Yoshida wrote: > ここで私の環境では悲惨なことに ええと、これは [BUG] が出なくても落ちてるんですよね。 class RubyIO def initialize @io = open("tmp.txt") end def read end def gets end end io = RubyIO.new $stdin = io getc gets @io = をコメントアウトすると D:\tmp>ruby stdin1.rb stdin1.rb:12: warning: getc is obsolete; use STDIN.getc instead stdin1.rb:12:in `getc': uninitialized stream (IOError) from stdin1.rb:12 こうなります。どうやら rb_io_getc の GetOpenFile で RFILE にキャストしてますが rb_f_getc は rb_io_getc(rb_stdin) してるだけで rb_stdin の型チェックができてないみたいです。 ---- YOSHIDA Kazuhiro moriq@moriq.com http://www.moriq.com/