From: Joel VanderWerf Date: 2002-06-08T08:11:08+09:00 Subject: Re: Unflatten Joel VanderWerf wrote: > module Enumerable > def nest(&compare) ... FWIW, I just realized that a grouping can be done very easily using #nest: module Enumerable def group(&test) nest { |x| test[x] ? 1 : 0 } end end p [1, 2, "three", "four", 5, "six"].group { |x| x.is_a? String } ==> [1, 2, ["three", "four"], 5, ["six"]]