What's a reasonable way to read an entire text file as a single string?
I am sure this is an easy one; I just couldn't find the answer immediately from Google.
I know I could do this (right?):
text = ""
File.open(path).each_line do |line|
text += line
end
# Do something with text
But that seems a bit excessive, doesn't it? Or is that the way one would do it in Ruby?
Solution 1:
IO.read() is what you're looking for.
File is a subclass of IO, so you may as well just use:
text = File.read(path)
Can't get more intuitive than that.
Solution 2:
What about IO.read()
?
Edit: IO.read()
, as an added bonus, closes the file for you.