Ruby - 如何在字符串中输出“#{}”?

时间:2013-12-25 09:45:26

标签: ruby string

Ruby使用以下字符#{}进行字符串插值。如果由于某种原因,我想在字符串中输出这些字符,我该怎么做?

3 个答案:

答案 0 :(得分:7)

只需使用单引号:

puts '#{}'

或者如果你想使用双引号,那么就逃避它。

puts "\#{some_var} will be #{some_var}"

答案 1 :(得分:2)

单引号当然会起作用,但是如果你想将它们包含在字符串中并且不想逃避它内部的任何内容呢?使用这样的自定义分隔符:

2.0.0p353 :001 > %q['"#{foo}[f]] #or e.g. %q&'"#{foo}[f]& 
 => "'\"\#{foo}[f]"

%q相当于单引号,%Q代表双引号。

答案 2 :(得分:0)

您可以将#{}括在单引号中。任何字符串插值都不会在单引号内执行。或者,否则,您可以转义给定的字符,如下所示:\#{}

示例:

⚡  pry                                                                                +next: 2 | total: 22 | ▸▸▸▸▹▹▹▹▹▹
[1] pry(main)> var = 3
=> 3
[2] pry(main)> puts '#{var}';
#{var}
[3] pry(main)> puts "#{var}";
3
[4] pry(main)> puts "\#{var}";
#{var}
[5] pry(main)> '#{var}'
=> "\#{var}"
[6] pry(main)> "#{var}"
=> "3"
[7] pry(main)> "\#{var}"
=> "\#{var}"
[8] pry(main)>