为什么红宝石会出现' \'当我试图在代码下运行时,角色。它只发生在'#$'
所有ruby版本都在发生。
puts '#$' => '\#$'
或
'#$' => '\#$'
或
'mypassord#$123' => 'mypassord\#$123'
请在此分享您的经历。这是红宝石问题还是其他什么?
答案 0 :(得分:5)
不,这不是红宝石问题。这是你的问题。由于#$foo
可以解释为全局变量$foo
的插值,因此必须转义#
字符。这就是反斜杠的原因。
更准确地说,不可能使用字符串"#$"
进行插值($
是无效的全局变量)或"#$123"
($123
是无效的全局变量变量),但它使检查算法或插值算法在#$
之后检查序列变得复杂,所以我猜这就是#
即使在这种情况下也被转义的原因。