web-dev-qa-db-ja.com

テキストファイル全体を1つの文字列として読み取るための適切な方法は何ですか?

これは簡単なものだと思います。 Googleからの回答(即時)が見つかりませんでした。

私はこれができると知っています(そうですか?):

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

# Do something with text

しかし、それは少し過剰に見えますね。それともRubyでそれをするのですか?

43
Dan Tao

IO.read() はどうですか?

編集:IO.read()を追加すると、ファイルが閉じられます。

33
s.m.

IO.read() はあなたが探しているものです。
File[〜#〜] io [〜#〜] のサブクラスなので、次のように使用することもできます。

text = File.read(path)

それより直感的になることはできません。

142
Thiago Silveira