2
为什么以下字符串在Ruby解释器中给我相同的输出?单引号Ruby字符串 - 不一致转义
'f:\new'
'f:\\new'
这两个字符串都会导致:"f:\\new"
。我期待第二个字符串显示"f:\\\\new"
(如果不是,那么第一个应该显示"f:\new"
)
为什么以下字符串在Ruby解释器中给我相同的输出?单引号Ruby字符串 - 不一致转义
'f:\new'
'f:\\new'
这两个字符串都会导致:"f:\\new"
。我期待第二个字符串显示"f:\\\\new"
(如果不是,那么第一个应该显示"f:\new"
)
单引号字符串支持只有两个转义序列:\'
和\\
这就是为什么在你的第一个例子\n
不被视为新行字符:它不在列表中。
我没有看到你的两个输入字符串的区别。也许你打错了。 – murgatroid99 2010-07-21 13:33:03
我不熟悉Ruby,但我猜测第一个被检测为反斜杠的使用不正确(在单引号字符串中,它应该后面跟着反斜杠或单引号),所以反斜杠被保留... – pascal 2010-07-21 13:37:52
@ murgatroid99,你现在看到了区别吗? (有一个SO格式错误。) – 2010-07-21 13:38:27