为什么我的 Ruby 字符串显示转义字符反斜杠 ('\') 两次?

Why does my Ruby string show the escape character backslash ('\') twice?

我使用 \.br\ 作为分隔符:

[10, 20, 30].join('\.br\')

预期结果:

"10\.br\.br"

实际返回的内容:

"10\.br\20\.br\30"

我为反斜杠添加了转义,我怎么能得到预期的结果?

我想您会发现字符串中的反斜杠实际上并没有加倍。
要检查,而不是使用 p (which uses String#inspect) just print it using puts.

打印它

当字符串被 inspected 时,它使用双引号,并尝试生成一个版本的字符串,您可以将其复制并粘贴到 Ruby 中以获得相同的字符串 - 所以它需要加倍反斜杠字符。