わたなべてつやです。

「DATA」なんですが、

------------------------------
while DATA.gets
  print
end

exit

__END__
でーたです。
------------------------------

使い方はこれでいいと思うのですが、

------------------------------
$ ruby data.rb                  
data.rb:8:in `gets': closed stream (IOError)
        from data.rb:8
------------------------------

となってしまいます。

該当する場所を何も考えずに次のように変更した
ら動くのですが、適切な形にしていただけるとう
れしいです。

------------------------------
$ diff -u ruby.c.org ruby.c
--- ruby.c.org  Fri Jun 26 18:44:34 1998
+++ ruby.c      Thu Jul 23 15:23:41 1998
@@ -580,9 +580,11 @@
     if (script) {
        rb_define_global_const("DATA", f);
     }
+#if 0
     if (f != rb_stdin) {
        io_close(f);
     }
+#endif
 }
 
 void
------------------------------

--
WATANABE Tetsuya HP Japan
e-mail  tetsu / jpn.hp.com