创建一个字符串

Ruby 提供了几种创建 String 对象的方法。最常见的方法是使用单引号或双引号来创建“ 字符串文字 ”:

s1 = 'Hello'
s2 = "Hello"

主要区别在于双引号字符串文字更灵活,因为它们支持插值和一些反斜杠转义序列。

还有其他几种可能的方法来使用任意字符串分隔符创建字符串文字。任意字符串分隔符是%,后跟一对匹配的分隔符:

%(A string)
%{A string}
%<A string>
%|A string|
%!A string!

最后,你可以使用%q%Q 序列,相当于'"“:

puts %q(A string)
# A string
puts %q(Now is #{Time.now})
# Now is #{Time.now}

puts %Q(A string)
# A string
puts %Q(Now is #{Time.now})
# Now is 2016-07-21 12:47:45 +0200

当字符串包含单引号,双引号或两者的混合时,%q%Q 序列非常有用。这样,你无需转义内容:

%Q(<a href="/profile">User's profile<a>)

你可以使用多个不同的分隔符,只要有匹配的对:

%q(A string)
%q{A string}
%q<A string>
%q|A string|
%q!A string!