如何使用(1..10).each打印for循环的内容?

时间:2011-12-20 02:10:42

标签: ruby-on-rails ruby

我正在尝试在网页上打印出for循环的内容,作为1到10的输出。

index.html.erb

<%= (1..10).each do |i|
  print i
end %>

网页输出:

1..10

当前终端和所需输出:

1
2
3
4
5
6
7
8
10

我做错了什么?

4 个答案:

答案 0 :(得分:4)

如果您尝试在Rails中打印出来(根据您的评论),请尝试:

<% (1..10).each do |i| %>
  <%= i %>
<% end %>

编辑:因此,如果您想要将这些项目添加到列表中,您将使用:

<ol>
  <% (1..10).each do |i| %>
    <li><%= i %></li>
  <% end %>
</ol>

答案 1 :(得分:0)

<% (1..10).each do |i| %>
  <%= i %> <br />
<% end %>

答案 2 :(得分:0)

您正在谈论HTML中的网页,对吧?

试试这个:

<%= (1..10).map { |i| "<p>#{i}</p>" }.join.html_safe %>

或者这个

<%= (1..10).map { |i| "#{i}\n" }.join %>

答案 3 :(得分:-2)

也许试试这个:

<%= (1..10).each do |i| 
  puts i
end %>

我发现“puts vs print in ruby”对这个问题提供了一些帮助: