ruby each_line тоже читает разрыв строки? - PullRequest
6 голосов
/ 16 декабря 2010

Я пытаюсь прочитать данные из текстового файла и присоединить его к строке сообщения. Когда в файле только одна строка, все работает нормально. Но с двумя строками мой запрос не удался. Each_line читает разрыв строки? Как я могу это исправить?

File.open('sfzh.txt','r'){|f|
f.each_line{|row|
    send(row)
}

Я обошел эту проблему с помощью разделителя и дополнительного разделителя. Но это выглядит некрасиво.

Ответы [ 2 ]

28 голосов
/ 16 декабря 2010

Да, each_line включает разрывы строк.Но вы можете легко удалить их, используя chomp:

File.foreach('test1.rb') do |line|
  send line.chomp
end
4 голосов
/ 13 августа 2015

Другой способ - отобразить strip на каждой строке, когда она возвращается. Чтобы прочитать файл построчно, убрав пробел и сделав что-то с каждой строкой, вы можете сделать следующее:

File.open("path to file").readlines.map(&:strip).each do |line|
   (do something with line)
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...