Если я добавлю обратную косую черту + пробел в начало строк с двойными и одинарными кавычками, я получу разные результаты:
"\ text"
'\ text'
В выводе для строки в двойных кавычках я вижу только пробел.
В выводе для строки в одинарных кавычках я вижу обратную косую черту + пробел.
Что там происходит? Это потому, что '\ '
интерпретируется как специальный символ в строке двойных кавычек, но в строке одинарных кавычек символы сохраняются как есть?
Если я изменяю строки на это, я вижу тот же вывод, а именно одну косую черту, затем пробел и затем текст:
"\\ text"
'\\ text'
В обоих случаях обратный слеш экранируется. Я запутался, почему они работают одинаково в этой ситуации.
Существует ли какое-либо правило, которое поможет объяснить фундаментальное различие между тем, как строки в одинарных кавычках и строки в двойных кавычках обрабатывают обратную косую черту в Ruby?