这次讲的是active_support/core_ext/array/grouping.rb里的in_groups_of方法

ruby代码
#   %w(1 2 3 4 5 6 7).in_groups_of(3) {|g| p g}  
#   ["1", "2", "3"]  
#   ["4", "5", "6"]  
#   ["7", nil, nil]  
#  
#   %w(1 2 3).in_groups_of(2, ' ') {|g| p g}  
#   ["1", "2"]  
#   ["3", " "]  
#  
#   %w(1 2 3).in_groups_of(2, false) {|g| p g}  
#   ["1", "2"]  
#   ["3"] 


%w(1 2 3 4 5 6 7).in_groups_of(3) {|g| p g}
# ["1", "2", "3"]
# ["4", "5", "6"]
# ["7", nil, nil]

in_groups_of的第一个参数指示几个元素一组,而第二个参数指示了当最后一组缺元素时用什么填补位置
我们可以几个一组来显示tasks了:

<table>  
<% @tasks.in_groups_of(4,false) do |row_tasks| %>  
  <tr>  
    <% for task in row_tasks %>  
      <td><%= task.name %></td>  
    <% end %>  
  </tr>  
<% end %>  
</table>