=begin
What should "(1..3).chunk" (i.e. without a block) do?
It issued an
ArgumentError: tried to create Proc object without a block
I changed the error message to "no block given" which I hope to be more informative, but maybe there is something more useful to do here?
A default block of {|x| x} doesn't seem all that useful.
Returning an enumerator that, upon completion, will return an enumerator would probably be better, but could also be a bit confusing if someone doesn't realize he forgot to specify the block?
Thanks to Run Paint for raising the question when writing the rubyspec for #chunk.
=end
Any decision about this? For me it's a clear +1, chunking by the values unchanged is very common (not that it's representative, but I checked my code: 4 ocurrences of chunk, all with the identity block)
Forgot to note that the other possiblity suggested for chunk with no block can now be done clearly and succintly with chunk(&:itself), so there's no longer any doubt that the block without block should return an Enumerator