13
这两种方法都听起来像他们应该做同样的事情,但他们似乎不是彼此的别名。 in_groups
和in_groups_of
有什么区别?rails in_groups和in_groups_of有什么区别?
这两种方法都听起来像他们应该做同样的事情,但他们似乎不是彼此的别名。 in_groups
和in_groups_of
有什么区别?rails in_groups和in_groups_of有什么区别?
的文档是很清楚的。
in_groups
(number, fill_with = nil)
拆分或数量的组的在阵列上进行迭代,以填充任何fill_with剩余时隙,除非它是假的。
in_groups_of
(number, fill_with = nil)
拆分或迭代的阵列上在组大小的数,填充与fill_with任何剩余的时隙,除非它是假的。
实施例:
# Splits in groups of 2
["a","b","c","d","e","f"].in_groups_of(2)
# => [["a", "b"], ["c", "d"], ["e", "f"]]
# Splits in 2 groups
["a","b","c","d","e","f"].in_groups(2)
# => [["a", "b", "c"], ["d", "e", "f"]]
一个是基本上切片,其他使他们在偶数大小的组。得到它了。 – BookOfGreg
另一种想法是:'in_groups(n)'返回一个带有'n' * rows *的二维数组,而'in_groups_of(n)'返回一个带有'n' *列*的二维数组。 – Stefan