ruby each_line也读取换行符?

Wen*_*ang 6 ruby

我正在尝试从文本文件中读取数据并将其与帖子字符串连接起来.当文件中只有一行时,它可以正常工作.但有2行,我的请求失败了.each_line读取换行符吗?我该如何纠正?

File.open('sfzh.txt','r'){|f|
f.each_line{|row|
    send(row)
}
Run Code Online (Sandbox Code Playgroud)

我用split和extra分隔符绕过了这个问题.但它看起来很难看.

Mla*_*vić 28

是的,each_line包括换行符.但您可以使用chomp以下方法轻松剥离它们

File.foreach('test1.rb') do |line|
  send line.chomp
end
Run Code Online (Sandbox Code Playgroud)


Dav*_*d G 5

另一种方法是strip在返回时映射到每一行。要逐行读取文件,去除空格并对每一行执行某些操作,您可以执行以下操作:

File.open("path to file").readlines.map(&:strip).each do |line|
   (do something with line)
end
Run Code Online (Sandbox Code Playgroud)