消除零线

我有以下代码:

f = File.open("/log/mytext.txt") f.each_line do |i| i = i.delete("\n") puts i.inspect 

删除删除\ n,但结果如下所示:

 "#" "" "" "" "#" 

希望它返回:

 line1 line2 

一整天都在解决这个问题。 谢谢你的帮助

 p File.open("/log/mytext.txt").each_line.map(&:rstrip).delete_if(&:empty?) 

现在让我解释一下:)

  1. p expr相当于puts expr.inspect ,它将显示结果。

  2. rstrip是一种更简单的删除尾部换行符(以及任何尾随空格)的方法。

  3. delete_if(&:empty?) ,相当于delete_if{|x| x.empty?} delete_if{|x| x.empty?}检查字符串是否为空,如果是,则不允许它们通过。