Ruby单引号和双引号字符串文字之间的区别

示例

主要区别在于双引号String文字支持字符串插值和全套转义序列。

例如,它们可以通过插值包括任意Ruby表达式:

# 单引号字符串不支持插值
puts 'Now is #{Time.now}'
# Now is #{Time.now}

# 双引号字符串支持插值
puts "Now is #{Time.now}"
# 现在是2016-07-21 12:43:04 +0200

双引号字符串还支持整个转义序列集,包括"\n","\t"...

puts 'Hello\nWorld'
# 您好\ n世界

puts "Hello\nWorld"
# 你好
# 世界

......而单引号字符串支持任何转义序列,霸菱必要的单引号字符串是有用的最小集:文字单引号和反斜杠,'\''并'\\'分别。