Issue #11090 has been updated by Nobuyoshi Nakada.

Description updated

https://github.com/ruby/ruby/compare/trunk...nobu:feature/11090-Enumerable%23each_uniq
https://github.com/ruby/ruby/compare/trunk...nobu:feature/11090-Enumerable%23each_uniq_by

----------------------------------------
Feature #11090: Enumerable#each_uniq and #each_uniq_by
https://bugs.ruby-lang.org/issues/11090#change-52229

* Author: Hans Mackowiak
* Status: Open
* Priority: Low
* Assignee: 
----------------------------------------
currently if you want to iterate the first uniq elements you either need to call `uniq` and create a big array or you need to count the elements yourself
if you have an `Enumerable` with an indifferent size (maybe something with `cycle` or something you cant `rewind`) calling the `Array#uniq` method might not what you want.

the idea is adding `each_uniq` which does only iterate though the elements which are not already send (it does count for you)
a second `each_uniq_by` does work similar with chunk and does takes a block using a generated `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 for better view i also added it as attachment.


---Files--------------------------------
each_uniq.rb (830 Bytes)


-- 
https://bugs.ruby-lang.org/