Project

General

Profile

Feature #11090

Updated by nobu (Nobuyoshi Nakada) about 2 years ago

currently if you want to iterate the first uniq elements you either need to call `uniq` uniq and create a big array or you need to count the elements yourself
if you have an `Enumerable` Enumerable with an indifferent size (maybe something with `cycle` cycle or something you cant `rewind`) rewind) calling the `Array#uniq` Array#uniq method might not what you want.

the idea is adding `each_uniq` each_uniq which does only iterate though the elements which are not already send (it does count for you)
a second `each_uniq_by` each_uniq_by does work similar with chunk and does takes a block using a generated `Enumerator` Enumerator

IceDragon200 did make the following gist/sample in ruby, it might be written in C later to make it faster/better. https://gist.github.com/IceDragon200/5b1c205b4b38665c308e [[https://gist.github.com/IceDragon200/5b1c205b4b38665c308e]] for better view i also added it as attachment.

Back