这次讲的是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>