Read The First Line From A File
If I wanted to read the first line from a file with Ruby, I'd probably read the whole thing in, split it by newlines, and grab the first.
This is inefficient in that it reads in the entire file. For small files this won't matter, but for larger files it could become a bottleneck.
There is a method of doing this that is just as concise and streams the first part of the file rather than reading it in its entirety. The File.open
method takes a block. This means you can pass a symbol-to-proc to it as the block argument.
Both #readline
and #gets
will grab the first line including the newline character (hence the #strip
). The only difference is that #readline
will raise an exception if the file is empty.
These methods both come from the IO
module and stream the file rather than slurping the whole thing in.
Last updated