[英]Ruby string prepend '\' character
為什么在我嘗試在代碼下運行時,ruby前面加了“ \\”字符。 只有'#$'
所有紅寶石版本都在發生這種情況。
puts '#$' => '\#$'
要么
'#$' => '\#$'
要么
'mypassord#$123' => 'mypassord\#$123'
請在這里分享您的經驗。 是紅寶石問題還是什么?
不,這不是紅寶石問題。 這是你的問題。 由於#$foo
可以解釋為全局變量$foo
插值,因此必須對#
字符進行轉義。 這就是為什么要加反斜杠的原因。
更精確地說,不可能使用字符串"#$"
( $
是無效的全局變量)或"#$123"
( $123
是無效的全局變量)進行插值,但是它使檢查算法或插值算法成為可能。檢查#$
之后的序列很復雜,所以我想這就是為什么即使在這種情況下也轉義了#
原因。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.