我试图以这种格式在Windows平台上访问我的ruby脚本中的网络路径 .
\\servername\some windows share\folder 1\folder2\
现在,如果我尝试将其用作路径,它将无法工作 . 对于此脚本,没有正确转义单个反斜杠 .
path = "\\servername\some windows share\folder 1\folder2\"
d = Dir.new(path)
我尝试了所有我能想到的东西来正确地逃避路径中的斜线 . 但是我无法摆脱那个单一的反斜杠 - 因为它具有特殊意义 . 我尝试单引号,双引号,转义反斜杠本身,使用替代引号,如%Q {}或%q {},使用ascii转换为char . 从某种意义上讲,我没有做任何事情 . :-)现在临时解决方案是映射网络驱动器N:\指向该路径并以这种方式访问它,但这不是解决方案 .
有谁知道如何正确逃脱单反斜杠?
谢谢
2 回答
试试这个
只要您使用单引号来定义字符串(例如,
'foo'
),就不需要转义单个\
. except in the following two cases\\
本身可以使用\
. 所以,\\\\
将为您提供所需的起始\\
.路径末尾的尾随
\
将尝试转义结束报价,因此您还需要\\
.或者,
你可以为自己定义一个优雅的帮手 . 您可以将
/
与此类方法结合使用,而不是使用笨重的\
路径分隔符:甜!
只需加倍每个反斜杠,如下: