2

如果我有字符串"this is a \#test"并将其放入 Python shell,我会返回'this is a \\#test',这是我正在寻找的行为。但是如果我把它放到一个 Ruby shell 中,我回来"this is a #test"时没有任何迹象表明存在反斜杠。如何使 Ruby 字符串表现得像 Python,即不自动转义我的 # 符号?

4

2 回答 2

2

当您不想解释转义序列时使用单引号。

[1] pry(main)> 'this is a \#test'
=> "this is a \\#test"

单引号也不会做字符串插值,所以如果你需要两者,你可以手动转义你的斜线:

[1] pry(main)> t = "test" ; "this is a \\##{t}"
=> "this is a \\#test"
于 2013-10-06T15:23:44.287 回答
2

只需使用单引号而不是双引号:

'this is a \#test'

将包括反斜杠。在 Ruby 中,只有"字符串会进行替换和转义。'字符串只转义\\\

于 2013-10-06T15:23:55.840 回答