将整个文本文件作为单个字符串读取的合理方法是什么?

Dan*_*Tao 40 ruby string io file

我相信这很容易; 我无法立即从谷歌找到答案.

我知道我能做到这一点(对吗?):

text = ""
File.open(path).each_line do |line|
    text += line
end

# Do something with text
Run Code Online (Sandbox Code Playgroud)

但那似乎有点过分,不是吗?或者这是人们在Ruby中做到的方式?

Thi*_*ira 133

IO.read()正是你要找的.
FileIO的子类,所以你也可以使用:

text = File.read(path)
Run Code Online (Sandbox Code Playgroud)

不能比这更直观.

  • 这应该是IMO接受的答案 (3认同)
  • @Pred会将其加载到字符串中,并因此加载到内存中。 (3认同)

s.m*_*.m. 30

怎么样IO.read()

编辑:IO.read()作为额外奖励,为您关闭文件.