sea*_* an 1 ruby string escaping
我\.br\用作分隔符:
[10, 20, 30].join('\.br\\')
Run Code Online (Sandbox Code Playgroud)
预期结果:
"10\.br\20\.br\30"
Run Code Online (Sandbox Code Playgroud)
实际返回的内容:
"10\\.br\\20\\.br\\30"
Run Code Online (Sandbox Code Playgroud)
我为反斜杠添加了转义符,我怎么能得到预期的结果?
我想你会发现反斜杠实际上并没有在字符串中加倍。
要检查,而不是使用p(使用String#inspect)打印它,只需使用puts.
当字符串被inspect编辑时,它使用双引号,并尝试生成一个字符串版本,您可以将其复制并粘贴到 Ruby 中以获得相同的字符串 - 因此它需要将反斜杠字符加倍。