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