此页面描述了集合管道模式中的一个操作。有关更多上下文,请阅读

分组

对每个元素运行一个函数,并根据结果对元素进行分组。

group-by 操作返回一个哈希映射,该映射以提供的函数的结果为键。

ruby…
["bat", "it", "a", "the"].group_by{|s| s.size}
# => {3=>["bat", "the"], 2=>["it"], 1=>["a"]}
clojure…
(group-by count ["bat" "it" "a" "the"])
;; => {3 ["bat" "the"], 2 ["it"], 1 ["a"]}

由于它自然地返回一个哈希映射,因此任何下游操作都需要将此映射视为键值对列表,以便在管道中继续流动。