Ruby файл IO разделители? - PullRequest
       31

Ruby файл IO разделители?

5 голосов
/ 21 февраля 2010

Я пытаюсь проанализировать текстовый файл, который содержит переменное количество слов и цифр в строке, например:

foo 4.500 bar 3.00
1.3 3 foo bar

Как я могу прочитать файл, разделенный пробелами, а не символами новой строки? Есть ли какой-нибудь способ, которым я могу установить метод File("file.txt").foreach для использования пробелов вместо символов новой строки в качестве разделителя?

Ответы [ 3 ]

3 голосов
/ 21 февраля 2010

Вы можете использовать

open('file.txt').read.split.each

чтобы дать вам итератор через пробел (или символ новой строки).

3 голосов
/ 14 апреля 2016

Принятый ответ будет slurp файлом, который может быть проблемой с большими текстовыми файлами.

Лучшее решение - IO.foreach. Это идиоматично и будет транслировать файл char на char:

File.foreach(filename," ") {|string| puts string}

Пример файла, содержащего "this is an example" результатов с

"this"
"is"
"an"
"example"
3 голосов
/ 21 февраля 2010

File.open ("file.txt"). Read.split ("") .each

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