0

可能重复:
如何从字符串插值中转义 #{

如果我有这样的字符串:

"interpolated: #{1}, verbatim: #{dont_interpolate}"

如何仅转义第二个 #{} 以使输出如下所示:

=> interpolated: 1, verbatim: #{dont_interpolate}

我试过这个:

 "interpolated: #{1}, verbatim: #\{dont_interpolate\}"

但我在 # 前面多了一个斜杠:

interpolated: 1, verbatim: \#{dont_interpolate}
4

1 回答 1

0

我认为这只是在irb. 当我使用puts时,它会正确打印:

irb(main):002:0> "interpolated: #{1}, verbatim: #\{dont_interpolate\}".to_s
=> "interpolated: 1, verbatim: \#{dont_interpolate}"
irb(main):003:0> puts "interpolated: #{1}, verbatim: #\{dont_interpolate\}"
interpolated: 1, verbatim: #{dont_interpolate}
=> nil

看来你也可以这样逃避它:

irb(main):004:0> puts "interpolated: #{1}, verbatim: \#{dont_interpolate}"
interpolated: 1, verbatim: #{dont_interpolate}
=> nil
于 2013-01-26T02:42:38.567 回答