如何以及每个声明如何突破?

时间:2012-09-21 00:52:49

标签: ruby

我有以下要输出前六个用户的地方,如果超过六个,请返回'...'。

我该怎么做?

<% users.each_with_index do |x, key| %>
   <% if key <= 5 %> 
    <%=x.name %>
    <% else %>
      ... <% next %>
    <% end %>
<% end %> 

1 个答案:

答案 0 :(得分:3)

最后一个是什么?接下来将进入下一次迭代。如果你想离开循环,你需要使用break。

<%
  users.each_with_index do |user, key|
    if key > 5
      concat('...')
      break
    end
    concat(user.name)
  end
%>

你也可以

<%= users.take(6).map(&:name).join %>
<%= '...' if users.size > 6 %>