【发布时间】:2012-06-07 02:01:21
【问题描述】:
Ruby 中是否有任何单行字符串文字语法允许字符串插值但不将反斜杠解释为转义字符?
即,
在哪里ruby_var = "foo"
我希望能够键入 C:\some\windows\path\#{ruby_var}\path 的等效项,从而生成字符串 C:\some\windows\path\foo\path,而不必转义反斜杠或求助于多行 heredoc。
puts "C:\some\windows\path\#{ruby_var}\path"
puts "C:\some\windows\path\path_#{ruby_var}\path"
=> C: omewindowspath#{ruby_var}path
=> C: omewindowspathpath_foopath
puts 'C:\some\windows\path\#{ruby_var}\path'
puts 'C:\some\windows\path\path_#{ruby_var}\path'
=> C:\some\windows\path\#{ruby_var}\path
=> C:\some\windows\path\path_#{ruby_var}\path
puts %{C:\some\windows\path\#{ruby_var}\path}
puts %{C:\some\windows\path\path_#{ruby_var}\path}
=> C: omewindowspath#{ruby_var}path
=> C: omewindowspathpath_foopath
puts %q{C:\some\windows\path\#{ruby_var}\path}
puts %q{C:\some\windows\path\path_#{ruby_var}\path}
=> C:\some\windows\path\#{ruby_var}\path
=> C:\some\windows\path\path_#{ruby_var}\path
【问题讨论】:
-
您是否尝试过使用正斜杠? AFAIK Windows 通常不在乎您使用哪一个。
-
我想我可以猜到你想要的输出是什么,但也许你可以把它包括在你的问题中,只是为了说清楚?
-
str11 = 'C:\some\windows\path\%{ruby_var}\path' % {ruby_var: "foo"}供您收藏
标签: ruby