用引号包装插值

时间:2015-01-21 02:20:26

标签: ruby loops interpolation quotes

range_array = (0..100).to_a
range_array.each do |number|
  p %-<div class="#{number}"><h1>Dell Shitbox</h1></div>-
end

结果:

"<div class=\"83\"><h1>Dell Shitbox</h1></div>"

期望的结果:

<div class="83"><h1>Dell Shitbox</h1></div>

我试过逃避:

range_array = (0..100).to_a
range_array.each do |class|
  p %-<div class=\"#{class}\"><h1>Dell Shitbox</h1></div>-
end

我尝试过切换引用方法(很多次)

range_array = (0..100).to_a
range_array.each do |class|
  p %Q[<div class="#{class}"><h1>Dell Shitbox</h1></div>]
end

建议?

1 个答案:

答案 0 :(得分:1)

您遇到的问题是因为您使用p输出字符串。 p与调用相同:

puts object.inspect

简单的解决方法是使用puts代替p