是否可以在Ruby中更改$ stderr的换行符常量?

时间:2014-05-13 08:10:24

标签: ruby newline stderr

是否可以将$stderr.puts$stderr.print上打印的所有换行符更改为其他字符?

例如,更改为:.

$stderr.print "123.45\n\n"
=> 123.45 :. :.
$stderr.puts 'yay'
=> yay :.

如果有可能,怎么样?

1 个答案:

答案 0 :(得分:1)

正如@Stefan在评论中所写,可能您应该在非pre元素上使用HTML <pre>标记或CSS white-space: pre指令。无论如何:

$stderr.print

def $stderr.print(*args)
  super *args.map { |v| v.to_s.gsub("\n", "<br>") }
end
$stderr.print "ciao\n" #=> nil
ciao<br>

$stderr.puts

def $stderr.puts(*args)
  print *args.map { |v| v.to_s + "\n" }
end
$stderr.puts "ciao" #=> nil
ciao<br>