2010-07-21 3 views
2

Pourquoi les chaînes suivantes me donnent-elles la même sortie dans l'interpréteur Ruby? Les deux chaînes se traduisent par: "f:\\new". Je me attendais à la deuxième chaîne à afficher "f:\\\\new" (sinon que, le premier aurait montré "f:\new")Chaînes Ruby à guillemets simples - échappement incohérent

+0

Je ne vois pas la différence entre vos deux chaînes d'entrée. Peut-être avez-vous mal saisi. – murgatroid99

+0

Je ne suis pas familier avec Ruby mais je suppose que le premier est détecté comme une utilisation incorrecte du backslash (dans une chaîne de guillemets simples, il aurait dû être suivi de backslash ou guillemets simples), donc le backslash est préservé ... – pascal

+0

@ murgatroid99, voyez-vous la différence maintenant? (Il y avait une erreur de formatage SO.) –

Répondre

2

chaînes apostrophées ne supportent que deux séquences d'échappement: \' et \\

Voilà pourquoi dans votre premier exemple \n n'est pas traité comme un caractère de nouvelle ligne: il ne figure pas dans la liste.

Questions connexes