2010-07-21 33 views
2

爲什麼以下字符串在Ruby解釋器中給我相同的輸出?單引號Ruby字符串 - 不一致轉義

'f:\new' 
    'f:\\new' 

這兩個字符串都會導致:"f:\\new"。我期待第二個字符串顯示"f:\\\\new"(如果不是,那麼第一個應該顯示"f:\new"

+0

我沒有看到你的兩個輸入字符串的區別。也許你打錯了。 – murgatroid99 2010-07-21 13:33:03

+0

我不熟悉Ruby,但我猜測第一個被檢測爲反斜槓的使用不正確(在單引號字符串中,它應該後面跟着反斜槓或單引號),所以反斜槓被保留... – pascal 2010-07-21 13:37:52

+0

@ murgatroid99,你現在看到了區別嗎? (有一個SO格式錯誤。) – 2010-07-21 13:38:27

回答

2

單引號字符串支持只有兩個轉義序列:\'\\

這就是爲什麼在你的第一個例子\n不被視爲新行字符:它不在列表中。