Skip to content

End of Life Ruby 3.0 has reached end of life and gets no more fixes. Switch to Ruby 4.0 →

instance 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.

Methods that use $/ like each, lines and readline will also increment lineno.

See also the $. variable.

Example
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
See also #lineno= #isatty #ioflush #noecho also in 4.1 · 4.0 · 3.4 · 3.3 · 3.2 · 3.1