我有一个像string1
这样的字符串:
Hello World, join my game:
我想让string1成为:
Hello World, join my game:
http://game.com/url
如何使用ruby附加回车符,然后从另一个变量附加链接?
谢谢
答案 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"
答案 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!