转义ruby字符串插值语法
可能重复:转义ruby字符串插值语法,ruby,ruby-1.8,Ruby,Ruby 1.8,可能重复: 如果我有这样一个字符串: "interpolated: #{1}, verbatim: #{dont_interpolate}" => interpolated: 1, verbatim: #{dont_interpolate} 如何仅转义第二个#{},使输出如下所示: "interpolated: #{1}, verbatim: #{dont_interpolate}" => interpolated: 1, verbatim: #{dont_interpola
如果我有这样一个字符串:
"interpolated: #{1}, verbatim: #{dont_interpolate}"
=> interpolated: 1, verbatim: #{dont_interpolate}
如何仅转义第二个#{},使输出如下所示:
"interpolated: #{1}, verbatim: #{dont_interpolate}"
=> interpolated: 1, verbatim: #{dont_interpolate}
我试过这个:
"interpolated: #{1}, verbatim: #\{dont_interpolate\}"
但我在#前面多了一条斜线:
我认为这只是在
irb
中打印字符串。当我使用puts
时,它会正确打印:
irb(main):002:0>“插入:{1},逐字:{dont\u interpolate\}”
=>“插入:1,逐字:\\\{dont\u interpolate}”
irb(main):003:0>放入“插入:{1},逐字:{dont\u interpolate\}”
插入:1,逐字:{不插入}
=>零
看来你也可以这样逃避:
irb(main):004:0>放入“插入:{1},逐字:\{dont\u interpolate}”
插入:1,逐字:{不插入}
=>零
谢谢Tim,我没有看到这个。没问题,我不太确定它是否适用,因为这个解决方案与irb有关。