给定一个字符串,如何附加一个回车后跟另一个字符串?

时间:2012-04-05 17:52:06

标签: ruby-on-rails ruby

我有一个像string1这样的字符串:

Hello World, join my game:

我想让string1成为:

Hello World, join my game:

http://game.com/url

如何使用ruby附加回车符,然后从另一个变量附加链接?

谢谢

5 个答案:

答案 0 :(得分:17)

这实际上取决于你输出的内容。

$ STDOUT:

puts "Hello\n\n#{myURL}"

puts "Hello"
puts
puts myURL

puts <<EOF
Hello

#{myURL}
EOF

如果您要在html.erb.rhtml文档中输出:

<%= "Hello<br /><br />#{myURL}" %> # or link_to helper

如果您已经有string1这样的字符串,那么您可以使用+=<<附加到该字符串:

string1  = "Hello world, join my game:"
myUrl    = "http://example.com"
string1 += "\n\n#{myUrl}"

或:

string1 = "Hello world, join my game:"
myUrl   = "http://example.com"
string +=<<EOF

#{myUrl}
Here's some other details
EOF

答案 1 :(得分:6)

假设你有这些字符串:

string1 = 'foo'
string2 = 'bar'

这里有三种方法可以将它们与之间的换行符结合起来:

字符串插值:

"#{string1}\n#{string2}"

&#39; +&#39;操作者:

string1 + "\n" + string2

数组和.join

[string1, "\n", string2].join

OR

[string1, string2].join("\n")

答案 2 :(得分:2)

据我所知,没有新的线路常数。使用转义序列'\ n'。像:

puts "1. Hello\n2. World"

参考:http://en.wikibooks.org/wiki/Ruby_Programming/Strings

答案 3 :(得分:2)

如果您使用的是puts语句,则在新行上打印的简单方法如下:

puts "Hello, here is the output on line1", "followed by some output on line2"

这将返回:

Hello, here is the output on line1
followed by some output on line2

如果你在终端的irb中运行代码。

答案 4 :(得分:1)

作为数组输出。

如果您多次向同一个String变量追加,并且希望稍后在新行中输出这些附加的每个字符串,您可能需要考虑使用Array来存储每个String,然后加入它们在显示/输出它们时使用新行。

output = []

output << "Hello World, join my game:"

output << "http://game.com/url"

output << "Thank You!"

现在,如果你在终端或其他什么地方,你可以在输出数组上使用puts

puts output
#=> Hello World, join my game:
#=> http://game.com/url
#=> Thank You!

如果要以HTML格式显示,可能需要使用join()方法:

output.join('<br>')
#=> "Hello World, join my game:<br>http://game.com/url<br>Thank You!"

您可以在join()方法中使用任何您喜欢的内容,因此如果您希望在每个字符串之间有两个换行符,则可以执行此操作:

puts output.join("\n\n")
#=> Hello World, join my game:

#=> http://game.com/url

#=> Thank You!