如何使用'puts'添加额外的换行符而不将换行符添加到字符串中?

时间:2009-03-12 18:06:09

标签: ruby string newline

如果我说

puts "Hello"

并决定添加一个额外的换行符,我需要这样做:

puts "Hello\n"

在字符串中包含此字符很难看。有没有办法在不污染字符串的情况下做到这一点?

8 个答案:

答案 0 :(得分:45)

再拨打puts

puts "Hello"
puts

答案 1 :(得分:23)

puts "Hello",""

答案 2 :(得分:3)

我经常发现自己在ruby中添加一个常量来包含这些字符

NEW_LINE = "\n"

puts "Hello" + NEW_LINE

我认为它更具可读性,并且如果有人决定在以后某个时候用其他东西分隔每一行,那么对所有新行字符的修改都很容易。

答案 3 :(得分:2)

你认为这看起来更好吗?


puts "Hello"+$/

< /恶>

答案 4 :(得分:2)

Ruby使用“\ n”作为换行符的原因是因为它基于C. Ruby MRI是用C语言编写的,甚至JRuby是用Java编写的,它基于C ++,基于C ...你得到了理念!因此,所有这些C风格的语言都使用“\ n”作为新行。

您始终可以编写自己的方法,其作用类似于put,但会根据方法的参数添加新行。

答案 5 :(得分:1)

你可以写

p "Hello"
p 

如果你想保持简短和简单

那也应该有效

答案 6 :(得分:0)

好吧,我不认为明确的换行是丑陋的。 mipadi的答案也很好。只是为了抛出另一个答案,制作一个行数组,然后用换行符加入aray。 :)

答案 7 :(得分:0)

您想要修复的内容: 脚本输入:

puts "Hello there"
puts "Goodbye"

脚本输出:

Hello thereGoodbye

修复问题: 脚本输入:

puts "Hello there"
puts
puts "Goodbye"

脚本输出:

Hello there
Goodbye