如题
双引号里面可以 interpolation 以及 escape。单引号不可以。
[1] pry(main)> a = 1 => 1 [2] pry(main)> "#{a}" => "1" [3] pry(main)> '#{a}' => "\#{a}" [4] pry(main)> puts "a\nb" a b => nil [5] pry(main)> puts 'a\nb' a\nb => nil
据《Ruby 编程语言》这本书里写的,单引号字符串字面量里只可以用反斜线来转义单引号和反斜线。 比如
irb(main):001:0> 'hell\'o' => "hell'o" irb(main):002:0> 'he\\' => "he\\"
双引号字符串字面量里面支持很多转义序列,比如代表换行的 \n,代表 tab 的 \t 等等,还支持字符串内插。
\n
\t