Issue #12813 has been updated by Marc-Andre Lafortune.


It would help if you explained what is meant by "safe".

There is currently no valid usage of `chunk_while`, `slice_after`, `slice_before` or `slice_when` without a block and an argument, as they all raise an exception. So "extending" them by returning an enumerator instead can't reasonably produce a problem. So what else could be meant by "safe"?

----------------------------------------
Feature #12813: Calling chunk_while, slice_after, slice_before, slice_when with no block
https://bugs.ruby-lang.org/issues/12813#change-61733

* Author: Marc-Andre Lafortune
* Status: Assigned
* Priority: Normal
* Assignee: Yukihiro Matsumoto
----------------------------------------
Currently, `chunk_while`, `slice_after`, `slice_before`, `slice_when` all require a block.

If one needs the index within the block, there is no good way to do this; `enum.each_with_index.chunk_while` would have indices in the results, so `enum.enum_for(:chunk_while).with_index` is the best solution.

I feel that we should return `enum_for(:chunk_while)`. This is strictly more useful than raising as we currently do.



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

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>