Ruby 中是否有任何字符串语法允许内插但没有转义字符



Ruby 中是否有任何单行字符串文字语法允许字符串内插但不将反斜杠解释为转义字符?

即,

哪里ruby_var = "foo"

我希望能够键入相当于C:somewindowspath#{ruby_var}path导致字符串C:somewindowspathfoopath,而不必转义反斜杠或求助于多行 heredoc。

puts "C:somewindowspath#{ruby_var}path"
puts "C:somewindowspathpath_#{ruby_var}path"
=> C: omewindowspath#{ruby_var}path
=> C: omewindowspathpath_foopath
puts 'C:somewindowspath#{ruby_var}path'
puts 'C:somewindowspathpath_#{ruby_var}path'
=> C:somewindowspath#{ruby_var}path
=> C:somewindowspathpath_#{ruby_var}path
puts %{C:somewindowspath#{ruby_var}path}
puts %{C:somewindowspathpath_#{ruby_var}path}
=> C: omewindowspath#{ruby_var}path
=> C: omewindowspathpath_foopath
puts %q{C:somewindowspath#{ruby_var}path}
puts %q{C:somewindowspathpath_#{ruby_var}path}
=> C:somewindowspath#{ruby_var}path
=> C:somewindowspathpath_#{ruby_var}path
ruby_var = "hello"
puts 'C:somewindowspath%spath' % ruby_var
#=>C:somewindowspathhellopath
'C:somewindowspath%spath' % ruby_var
#=> 'C:somewindowspathfoopath'

我认为这是不可能的。

您应该考虑使用正斜杠来使其看起来更漂亮;我相信Windows中的标准Ruby库不会关心你使用什么样的斜杠。

还有:

File.join('C:', 'path', ruby_var)

最新更新