How to read whole file in Ruby?

Solution 1:

IO.read("filename")

or

File.read("filename")

Solution 2:

File.readlines("filename")

This is also a great method to read everything from a file and break split on carriage returns. The return is an Array with one line per element.

Solution 3:

Please ignore advice which states "You should never slurp (which is the annoying term for this) a file". Sometimes this is a very useful, and sensible thing to do.

Suppose you're reading a file repeatedly : good chance that reading the file into an array is a sensible optimisation over reading the file line by line, even taking into account that the o/s will cache the file.