public Method

IO.closed?

ios.closed?     true or false

Returns true if ios is completely closed (for duplex streams, both reader and writer), false otherwise.

f = File.new("testfile")
f.close         #=> nil
f.closed?       #=> true
f = IO.popen("/bin/sh","r+")
f.close_write   #=> nil
f.closed?       #=> false
f.close_read    #=> nil
f.closed?       #=> true

Source Code

/*
*  call-seq:
*     ios.closed?    => true or false
*  
*  Returns <code>true</code> if <em>ios</em> is completely closed (for
*  duplex streams, both reader and writer), <code>false</code>
*  otherwise.
*     
*     f = File.new("testfile")
*     f.close         #=> nil
*     f.closed?       #=> true
*     f = IO.popen("/bin/sh","r+")
*     f.close_write   #=> nil
*     f.closed?       #=> false
*     f.close_read    #=> nil
*     f.closed?       #=> true
*/

static VALUE
rb_io_closed(io)
   VALUE io;
{
   OpenFile *fptr;

   fptr = RFILE(io)->fptr;
   rb_io_check_initialized(fptr);
   return (fptr->f || fptr->f2)?Qfalse:Qtrue;
}
Comments

Have your say
Please use Textile formatting (click here for a cheat sheet). Use <code/> and <pre/> for code samples.
Click here to login with OpenID to to post comments.