Ruby Language Différence entre les littéraux de chaîne entre guillemets simples et entre guillemets


Exemple

La principale différence est que les littéraux de String guillemets doubles prennent en charge les interpolations de chaînes et l'ensemble complet des séquences d'échappement.

Par exemple, ils peuvent inclure des expressions Ruby arbitraires par interpolation:

# 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

Les chaînes entre guillemets prennent également en charge l' ensemble des séquences d'échappement, y compris "\n" , "\t" ...

puts 'Hello\nWorld'
# Hello\nWorld

puts "Hello\nWorld"
# Hello
# World

... tandis que les chaînes entre guillemets simples ne prennent pas en charge les séquences d'échappement, en mettant en évidence le jeu minimal nécessaire pour les chaînes entre guillemets simples: guillemets simples et barres obliques inverses, respectivement '\'' et '\\' .