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

a4652097 · 2014年09月28日 · 最后由 blacktulip 回复于 2014年09月28日 · 8434 次阅读

如题

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

需要 登录 后方可回复, 如果你还没有账号请 注册新账号