From: nobu@... Date: 2015-04-24T06:02:33+00:00 Subject: [ruby-core:68977] [Ruby trunk - Feature #11090] Enumerable#each_uniq and #each_uniq_by 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/