39

如果我说

puts "Hello"

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

puts "Hello\n"

在字符串中有这个字符是丑陋的。有没有办法在不污染我的字符串的情况下做到这一点?

4

8 回答 8

58

只需再次致电puts

puts "Hello"
puts
于 2009-03-12T18:07:54.270 回答
25
puts "Hello",""
于 2009-03-16T21:58:45.817 回答
5

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

NEW_LINE = "\n"

puts "Hello" + NEW_LINE

我认为它更具可读性,并且如果有人决定在以后的某个日期用其他东西分隔每一行,则可以轻松更改所有换行符。

于 2013-02-24T23:10:29.443 回答
3

你觉得这个好看吗?


puts "Hello"+$/

</邪恶>

于 2009-03-12T18:15:37.687 回答
2

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

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

于 2009-03-12T18:17:39.957 回答
1

你可以写

p "Hello"
p 

如果您想保持简短和简单,那应该也可以

于 2012-04-24T18:55:18.410 回答
0

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

于 2009-03-12T18:09:22.070 回答
0

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

puts "Hello there"
puts "Goodbye"

脚本的输出:

Hello thereGoodbye

修复问题: 脚本输入:

puts "Hello there"
puts
puts "Goodbye"

脚本的输出:

Hello there
Goodbye
于 2014-08-05T21:52:45.600 回答