Какой разумный способ прочитать весь текстовый файл как одну строку? - PullRequest
38 голосов
/ 24 июня 2011

Я уверен, что это легко; Я просто не смог найти ответ немедленно от Google.

Я знаю, что мог бы сделать это (верно?):

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

# Do something with text

Но это кажется немного чрезмерным, не так ли? Или это так, как можно было бы сделать в Ruby?

Ответы [ 2 ]

124 голосов
/ 24 июня 2011

IO.read () - это то, что вы ищете.
Файл - это подкласс IO , так что вы можете простоиспользуйте:

text = File.read(path)

Не может быть более интуитивным, чем это.

27 голосов
/ 24 июня 2011

А как насчет IO.read()?

Редактировать: IO.read(), в качестве дополнительного бонуса, закрывает файл для вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...