public Method

IO.lineno

ios.lineno     integer

Returns the current line number in ios. The stream must be opened for reading. lineno counts the number of times gets is called, rather than the number of newlines encountered. The two values will differ if gets is called with a separator other than newline. See also the $. variable.

f = File.new("testfile")
f.lineno   #=> 0
f.gets     #=> "This is line one\n"
f.lineno   #=> 1
f.gets     #=> "This is line two\n"
f.lineno   #=> 2

Source Code

/*
*  call-seq:
*     ios.lineno    => integer
*  
*  Returns the current line number in <em>ios</em>. The stream must be
*  opened for reading. <code>lineno</code> counts the number of times
*  <code>gets</code> is called, rather than the number of newlines
*  encountered. The two values will differ if <code>gets</code> is
*  called with a separator other than newline. See also the
*  <code>$.</code> variable.
*     
*     f = File.new("testfile")
*     f.lineno   #=> 0
*     f.gets     #=> "This is line one\n"
*     f.lineno   #=> 1
*     f.gets     #=> "This is line two\n"
*     f.lineno   #=> 2
*/

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

   GetOpenFile(io, fptr);
   rb_io_check_readable(fptr);
   return INT2NUM(fptr->lineno);
}
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.