簡體   English   中英

為什么由於兩個反斜杠\\\\而導致錯誤?

[英]Why do I get an error due to two backslashes \\?

我正在編寫測試並驗證一些數據。 由於兩個\\\\失敗,我輸入了預期的數據字符串。

我的測試代碼是:

actual_string.should eq 'Today is Tuesday.\n It is third day of the week.'

執行此代碼時,我收到一條錯誤消息,說實際數據與預期數據不匹配。

實際數據為:

'Today is Tuesday.\n It is third day of the week.'

預期數據為:

'Today is Tuesday.\\n It is third day of the week.'

不確定預期數據中的額外斜杠“ \\”來自何處。 我該如何解決?

使用“文本”-雙引號。

與其他語言(例如Python,JavaScript等)不同,Ruby在單引號和雙引號字符串中使用不同的轉義序列。

單引號字符串僅支持\\'\\\\ 其他所有內容均按字面意義處理。 因此, '\\n'是兩個字符\\n ,而不是單個換行符。

要使用換行符,請將字符串用雙引號引起來:

actual_string.should eq "Today is Tuesday.\n It is third day of the week."

這將修復您的測試。

暫無
暫無

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

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