Project

General

Profile

Feature #3526

Updated by nobu (Nobuyoshi Nakada) almost 10 years ago

=begin 
  なかだです。 
 
 `IO::NULL` 
 
  IO::NULL を追加するのはどうでしょうか。 
 
  ~~~diff 
 
 
 
  diff --git a/io.c b/io.c 
 
  index 05b2d45..3793ae5 100644 
 
  --- a/io.c 
 
  +++ b/io.c 
 
  @@ -9623,6 +9623,18 @@ rb_get_argv(void) 
      
       return ARGF.argv; 
  
   } 
 
 
  
  +static const char null_device[] = 
 
  +#if defined DOSISH 
 
  +      "NUL" 
 
  +#elif defined AMIGA || defined __amigaos__ 
 
  +      "NIL" 
 
  +#elif defined __VMS 
 
  +      "NL:" 
 
  +#else 
 
  +      "/dev/null" 
 
  +#endif 
 
  +      ; 
 
  + 
  
   /* 
   
    * Document-class: IOError 
   
    * 
 
  @@ -9956,6 +9968,8 @@ Init_IO(void) 
      
       rb_define_method(rb_cIO, "autoclose?", rb_io_autoclose_p, 0); 
      
       rb_define_method(rb_cIO, "autoclose=", rb_io_set_autoclose, 1); 
 
 
  
  +      rb_define_const(rb_cIO, "NULL", rb_obj_freeze(rb_usascii_str_new2(null_device))); 
 
  + 
      
       rb_define_variable("$stdin", &rb_stdin); 
      
       rb_stdin = prep_stdio(stdin, FMODE_READABLE, rb_cIO, "<STDIN>"); 
      
       rb_define_hooked_variable("$stdout", &rb_stdout, 0, stdout_setter); 
 ~~~ 
 
 
 
  --  
  --- 
 --- 僕の前にBugはない。 
 
  --- 僕の後ろにBugはできる。 
     
      中田 伸悦 

 
 =end 

Back