新手问题 ruby 里双引号和单引号有什么区别

a4652097 · September 28, 2014 · Last by blacktulip replied at September 28, 2014 · 8411 hits

如题

双引号里面可以 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 等等,还支持字符串内插。

You need to Sign in before reply, if you don't have an account, please Sign up first.