ruby - 在gsub

时间:2015-08-07 21:07:58

标签: ruby

我试图反斜杠 - 转义一个在其中有反引号的文件名,以传递给一些shell命令。我在尝试使用gsub时看到了一些奇怪的行为。

IRB中的一些例子:

irb(main):001:0> 'weird`things'.gsub('`', '\`')
=> "weirdweirdthings"
irb(main):002:0> 'weird`things'.gsub('`', '\\`')
=> "weirdweirdthings"
irb(main):003:0> 'weird`things'.gsub('`', '\\\`')
=> "weird\\`things"    # this is what I want
irb(main):004:0> 'weird`things'.gsub('`', '\\\\`')
=> "weird\\`things"
irb(main):005:0> 'weird`things'.gsub('`', '\\\\\`')
=> "weird\\weirdthings"

这里发生了什么?这是否与$`全局变量有关?

0 个答案:

没有答案