From: Kazuhiro NISHIYAMA Date: 2000-09-23T06:30:58+09:00 Subject: [ruby-dev:11040] Re: File::Constants matz@zetabits.com (Yukihiro Matsumoto) wrote: > |FileがFile::Constantsをincludeしていないのはなぜなのでしょうか? > > 昔は :: は「そのクラス/モジュールで定義されている定数」しか > 参照できなかったからです。そういえば、今ならインクルードして > も構いませんね。 patch書かないといつまでも変わらないような気がしたので 書いてみました。 diff -u file.c~ file.c --- file.c~ Fri Sep 22 16:47:01 2000 +++ file.c Sat Sep 23 06:26:49 2000 @@ -1987,7 +1987,6 @@ const char *name; VALUE value; { - rb_define_const(rb_cFile, name, value); rb_define_const(rb_mConst, name, value); } @@ -2241,6 +2240,7 @@ rb_define_method(rb_cFile, "flock", rb_file_flock, 1); rb_mConst = rb_define_module_under(rb_cFile, "Constants"); + rb_include_module(rb_cFile, rb_mConst); rb_file_const("LOCK_SH", INT2FIX(LOCK_SH)); rb_file_const("LOCK_EX", INT2FIX(LOCK_EX)); rb_file_const("LOCK_UN", INT2FIX(LOCK_UN)); --- ZnZ(ゼット エヌ ゼット) 西山和広(Kazuhiro Nishiyama) mailto:zn@mbf.nifty.com