I’m going crazy, right? Surely it is possible
to find a backslash () in a string, and
replace it with two backslashes. That’s simple,
right? Just gsub("\", ‘\’). That’s all there
is to it.
testpath = “\foo\bar”
p testpath # => “\foo\bar” --representation
puts testpath # => \foo\bar --what you see
result = testpath.gsub("\", ‘\’)
p result # => “\foo\bar”
(represenation unchanged. Should be “\\foo\\bar”)
puts result # => \foo\bar
(unchanged. should be \foo\bar)
I’ve tried lots of gsub variations, like
/\/, ‘\’, “\\”, and anything else I could
think of that came even close to being sensible,
but I’ve yet to find anything that works.
My workaround will be to add a sed script to
filter the input. But surely that isn’t necessary.