Ruby Enumerable group_by()函数
enumerable 的 group_by() 是Ruby中一个内置的方法,它返回一个哈希值,其中的组被集体保留为分组后的块的结果。如果没有给出块,那么将返回一个枚举器。
语法 : enu.group_by { |obj| block }
参数 :该函数接收一个可选的块,根据该块进行分组。
返回值 : 它返回一个哈希值。
例子 #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]}