如果我在双引号和单引号字符串的开头添加反斜杠+空格,我会得到不同的结果:
"\ text"
'\ text'
在双引号字符串的输出中,我只看到一个空格。
在单引号字符串的输出中,我看到了反斜杠+空格。
那里发生了什么?这是因为'\ '
在双引号字符串中被解释为特殊字符,但在单引号字符串中,字符按原样保留?
如果我将字符串更改为此,我会看到相同的输出,即一个斜杠后跟一个空格,然后是文本:
"\\ text"
'\\ text'
在这两种情况下,反斜杠都会被转义。我很困惑为什么他们在这种情况下以同样的方式工作。
是否有一些规则可以帮助解释单引号字符串和双引号字符串如何在 Ruby 中处理反斜杠之间的根本区别?