红宝石 |可枚举的 group_by()函数
enumerable的group_by()是 Ruby 中的一个内置方法,它返回一个散列,其中组在分组后作为块的结果集体保存。如果没有给出块,则返回一个枚举器。
Syntax: enu.group_by { |obj| block }
Parameters: The function takes an optional block according to which grouping is done.
Return Value: It returns a hash.
示例 #1 :
# Ruby program for group_by method in Enumerable
# Initialize
enu = (1..10)
# Prints
enu.group_by { |obj| obj % 4 == 1 }
输出:
{true=>[1, 5, 9], false=>[2, 3, 4, 6, 7, 8, 10]}
示例 #2 :
# Ruby program for group_by method in Enumerable
# Initialize
enu = [2, 8, 9, 10, 23]
# Prints
enu.group_by { |obj| obj % 6 }
输出:
{2=>[2, 8], 3=>[9], 4=>[10], 5=>[23]}