簡體   English   中英

Ruby字符串以'\\'字符開頭

[英]Ruby string prepend '\' character

為什么在我嘗試在代碼下運行時,ruby前面加了“ \\”字符。 只有'#$'

所有紅寶石版本都在發生這種情況。

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

要么

'#$'  => '\#$'

要么

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

請在這里分享您的經驗。 是紅寶石問題還是什么?

不,這不是紅寶石問題。 這是你的問題。 由於#$foo可以解釋為全局變量$foo插值,因此必須對#字符進行轉義。 這就是為什么要加反斜杠的原因。

更精確地說,不可能使用字符串"#$"$是無效的全局變量)或"#$123"$123是無效的全局變量)進行插值,但是它使檢查算法或插值算法成為可能。檢查#$之后的序列很復雜,所以我想這就是為什么即使在這種情況下也轉義了#原因。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM