From: matz@... Date: 2016-07-19T05:57:51+00:00 Subject: [ruby-core:76410] [Ruby trunk Feature#11090] Enumerable#each_uniq and #each_uniq_by Issue #11090 has been updated by Yukihiro Matsumoto. As Ilya proposed, Enumerable#uniq and Enumerable::Lazy#uniq is reasonable. Matz. ---------------------------------------- Feature #11090: Enumerable#each_uniq and #each_uniq_by https://bugs.ruby-lang.org/issues/11090#change-59650 * Author: Hans Mackowiak * Status: Open * Priority: Normal * Assignee: Nobuyoshi Nakada ---------------------------------------- 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/ Unsubscribe: