Устранение последовательных дубликатов элементов списка

Какое лучшее решение для устранения последовательных дубликатов элементов списка?

list = compress(['a','a','a','a','b','c','c','a','a','d','e','e','e','e']).
p list # => # ['a','b','c','a','d','e']

У меня есть этот:

def compress(list)
  list.map.with_index do |element, index| 
    element unless element.equal? list[index+1]
  end.compact
end

Ruby 1.9.2

6
задан Vasiliy Ermolovich 4 April 2011 в 21:55
поделиться