RKP*_*RKP 0 ruby string ruby-2.0
当我试图在代码下面运行时,为什么ruby是pre'nds'\'字符.只有'#$'才会发生这种情况
它发生在所有ruby版本中.
puts '#$' => '\#$'
Run Code Online (Sandbox Code Playgroud)
要么
'#$' => '\#$'
Run Code Online (Sandbox Code Playgroud)
要么
'mypassord#$123' => 'mypassord\#$123'
Run Code Online (Sandbox Code Playgroud)
请在这里分享您的经验.这是红宝石问题还是其他什么?
不,这不是红宝石问题.这是你的问题.由于#$foo可以解释为全局变量的插值$foo,因此有必要转义#字符.这就是反斜杠的原因.
更确切地说,不可能使用字符串进行插值"#$"($是一个无效的全局变量)或"#$123"($123是一个无效的全局变量),但它使检查算法或插值算法复杂化后检查序列#$,所以我猜这就是为什么#即使在这种情况下逃脱的原因.