2
爲什麼以下字符串在Ruby解釋器中給我相同的輸出?單引號Ruby字符串 - 不一致轉義
'f:\new'
'f:\\new'
這兩個字符串都會導致:"f:\\new"
。我期待第二個字符串顯示"f:\\\\new"
(如果不是,那麼第一個應該顯示"f:\new"
)
爲什麼以下字符串在Ruby解釋器中給我相同的輸出?單引號Ruby字符串 - 不一致轉義
'f:\new'
'f:\\new'
這兩個字符串都會導致:"f:\\new"
。我期待第二個字符串顯示"f:\\\\new"
(如果不是,那麼第一個應該顯示"f:\new"
)
單引號字符串支持只有兩個轉義序列:\'
和\\
這就是爲什麼在你的第一個例子\n
不被視爲新行字符:它不在列表中。
我沒有看到你的兩個輸入字符串的區別。也許你打錯了。 – murgatroid99 2010-07-21 13:33:03
我不熟悉Ruby,但我猜測第一個被檢測爲反斜槓的使用不正確(在單引號字符串中,它應該後面跟着反斜槓或單引號),所以反斜槓被保留... – pascal 2010-07-21 13:37:52
@ murgatroid99,你現在看到了區別嗎? (有一個SO格式錯誤。) – 2010-07-21 13:38:27