module Enumerable
Public Instance Methods
cluster() { |last.last| ... }
click to toggle source
clumps adjacent elements together >> [2,2,2,3,3,4,2,2,1].cluster{|x| x}
> [[2, 2, 2], [3, 3], [4], [2, 2], [1]]¶ ↑
apidock.com/rails/Enumerable/group_by#508-Array-clustering
# File lib/forest/rails/core_ext/enumerable.rb, line 6 def cluster cluster = [] each do |element| if cluster.last && yield(cluster.last.last) == yield(element) cluster.last << element else cluster << [element] end end cluster end