Access denied, Please sign in and make sure you have proper permission.
双引号里面可以 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
等等,还支持字符串内插。