gets(...) public

Returns (and assigns to $_) the next line from the list of files in ARGV (or $*), or from standard input if no files are present on the command line. Returns nil at end of file. The optional argument specifies the record separator. The separator is included with the contents of each record. A separator of nil reads the entire contents, and a zero-length separator reads the input one paragraph at a time, where paragraphs are divided by two consecutive newlines. If multiple filenames are present in ARGV, +gets(nil)+ will read the contents one file at a time.

   ARGV << "testfile"
   print while gets

produces:

   This is line one
   This is line two
   This is line three
   And so on...

The style of programming using $_ as an implicit parameter is gradually losing favor in the Ruby community.

Show source
Register or log in to add new notes.