单引号和双引号字符串文字之间的区别
主要区别在于双引号 String
文字支持字符串插值和完整的转义序列集。
例如,它们可以通过插值包含任意 Ruby 表达式:
# Single-quoted strings don't support interpolation
puts 'Now is #{Time.now}'
# Now is #{Time.now}
# Double-quoted strings support interpolation
puts "Now is #{Time.now}"
# Now is 2016-07-21 12:43:04 +0200
双引号字符串也支持整个转义序列集, 包括 \n
,\t
……
puts 'Hello\nWorld'
# Hello\nWorld
puts "Hello\nWorld"
# Hello
# World
…单引号字符串不支持转义序列,禁止单引号字符串有用的最小集:文字单引号和反斜杠,分别为'\''
和'\\'
。