Ruby字符串前置'\'字符

时间:2014-07-18 12:32:29

标签: ruby string ruby-2.0

为什么红宝石会出现' \'当我试图在代码下运行时,角色。它只发生在'#$'

所有ruby版本都在发生。

puts '#$'   => '\#$'

'#$'  => '\#$'

'mypassord#$123'  =>  'mypassord\#$123'

请在此分享您的经历。这是红宝石问题还是其他什么?

1 个答案:

答案 0 :(得分:5)

不,这不是红宝石问题。这是你的问题。由于#$foo可以解释为全局变量$foo的插值,因此必须转义#字符。这就是反斜杠的原因。

更准确地说,不可能使用字符串"#$"进行插值($是无效的全局变量)或"#$123"$123是无效的全局变量变量),但它使检查算法或插值算法在#$之后检查序列变得复杂,所以我猜这就是#即使在这种情况下也被转义的原因。