这次讲的是active_support/core_ext/array/grouping.rb里的in_groups_of方法
[code]
# %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"]
[/code]
in_groups_of的第一个参数指示几个元素一组,而第二个参数指示了当最后一组缺元素时用什么填补位置
我们可以几个一组来显示tasks了:
[code]
<table>
<% @tasks.in_groups_of(4) do |row_tasks| %>
<tr>
<% for task in row_tasks %>
<td><%= task.name %></td>
<% end %>
</tr>
<% end %>
</table>
[/code]
[code]
# %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"]
[/code]
in_groups_of的第一个参数指示几个元素一组,而第二个参数指示了当最后一组缺元素时用什么填补位置
我们可以几个一组来显示tasks了:
[code]
<table>
<% @tasks.in_groups_of(4) do |row_tasks| %>
<tr>
<% for task in row_tasks %>
<td><%= task.name %></td>
<% end %>
</tr>
<% end %>
</table>
[/code]