经过大量的研究和头脑风暴,我终于放弃了它,需要一个帮助,以转换为单反斜杠,但我不能这样做。
下面是一些我遵循的步骤,但不起作用

"C:/projects/test/code".gsub('/','\\')  => "C:\\projects\\test\\code"

"C:/projects/test/code".gsub('/','\\\\') => "C:\\projects\\test\\code"

"C:/projects/test/code".gsub('/',"\'\\'")  => "C:'projects/test/codeprojects'test/codetest'codecode"

我期望的结果应该是:
=> "C:\projects\test\code"

接受任何帮助和建议请帮助

最佳答案

你已经这么做了:

"C:/projects/test/code".gsub('\', '\\') # => "C:\\projects\\test\\code"

很可能您对输出中的“\”感到困惑这很正常。试着说:
puts "C:/projects/test/code".gsub(/\//, '\\') # => C:\projects\test\code

更新时间:
\在Ruby中(不仅如此)用于多行字符串连接,因此当您在irb中键入它时,它会继续读取用户的输入。
关于IRB的一些注意事项:
当您在IRB中执行某个命令时,它会输出结果以进行调试:
irb> "foo\r\nbar"
=> "foo\r\nba"

此行包含\r\n转到新行的开头意味着什么所以如果你想在人类模式下看到它,只要打印出来,它就会给出:
irb> puts "foo\r\nbar"
foo
bar

如果要阻止输出,可以使用分号:
irb> s = "foo\r\nbar";
irb* puts s
foo
bar

关于ruby-on-rails - 从任何路径替换 ruby 中的正斜杠到反斜杠,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48017659/

10-09 17:00
查看更多