[英]Ruby string prepend '\' character
为什么在我尝试在代码下运行时,ruby前面加了“ \\”字符。 只有'#$'
所有红宝石版本都在发生这种情况。
puts '#$' => '\#$'
要么
'#$' => '\#$'
要么
'mypassord#$123' => 'mypassord\#$123'
请在这里分享您的经验。 是红宝石问题还是什么?
不,这不是红宝石问题。 这是你的问题。 由于#$foo
可以解释为全局变量$foo
插值,因此必须对#
字符进行转义。 这就是为什么要加反斜杠的原因。
更精确地说,不可能使用字符串"#$"
( $
是无效的全局变量)或"#$123"
( $123
是无效的全局变量)进行插值,但是它使检查算法或插值算法成为可能。检查#$
之后的序列很复杂,所以我想这就是为什么即使在这种情况下也转义了#
原因。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.