Calling chunk_while, slice_after, slice_before, slice_when with no block
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.
Updated by marcandre (Marc-Andre Lafortune) over 2 years ago
It would help if you explained what is meant by "safe".
There is currently no valid usage of
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"?