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