创建一个字符串
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!