Sha256: e6708a5a969d22c1854a37d3e3d320f4ee63f0d076c5eb0d838a47bac2920cdc
Contents?: true
Size: 895 Bytes
Versions: 12
Compression:
Stored size: 895 Bytes
Contents
# The Array class we all know and love. # class Array # :nodoc:all # Cluster-uniqs equal neighborly elements. # # Returns a copy. # def clustered_uniq self.inject([]) do |result, element| result << element if element != result.last result end end # Around 10% faster than the above. # # Returns a copy. # def clustered_uniq_fast result = [] self.inject(nil) do |last, element| if last == element last else result << element && element end end result end # Sort the array using distance from levenshtein. # # Will raise if encounters not to_s-able element. # def sort_by_levenshtein! from from = from.to_s sort! do |this, that| # TODO Cache for speed? # Text::Levenshtein.distance(this.to_s, from) <=> Text::Levenshtein.distance(that.to_s, from) end end end
Version data entries
12 entries across 12 versions & 1 rubygems