二重引用符と一重引用符で囲まれた文字列の先頭にバックスラッシュとスペースを追加すると、異なる結果が得られます。
"\ text"
'\ text'
二重引用符で囲まれた文字列の出力には、スペースしかありません。
一重引用符で囲まれた文字列の出力に、バックスラッシュ + スペースが表示されます。
そこで何が起こっているのですか?これ'\ '
は、二重引用符文字列では特殊文字として解釈されますが、一重引用符文字列では文字がそのまま保持されるためですか?
文字列をこれに変更すると、同じ出力が表示されます。つまり、1 つのスラッシュの後にスペースが続き、次にテキストが続きます。
"\\ text"
'\\ text'
どちらの場合も、バックスラッシュはエスケープされます。この状況でなぜ彼らが同じように機能するのか、私は混乱しています。
Ruby で単一引用符で囲まれた文字列と二重引用符で囲まれた文字列がバックスラッシュを処理する方法の根本的な違いを説明するのに役立つルールはありますか?