we do not have nextOrLess: in Pharo. On Wed, Apr 26, 2017 at 6:19 AM, Richard Sargent <[email protected]> wrote:
> In 2003, I implemented the following method. It is something that comes up > from time to time. > > !SequenceableCollection publicMethods ! > splitEvery: chunkSize > "Answer a collection of sub-collections each of the specified chunk size. > If the receiver size is not a multiple of chunkSize, the last > sub-collection will be shorter." > > | chunks stream | > chunkSize < 1 ifTrue: [ ^self splitEvery: 1 ]. > > stream := ReadStream on: self. > chunks := OrderedCollection new. > [stream atEnd] whileFalse: [ > chunks add: (stream nextOrLess: chunkSize). > ]. > > ^chunks. > ! ! > > ------------------------------ > *From:* Pharo-users [mailto:[email protected]] *On > Behalf Of *Stephane Ducasse > *Sent:* April 25, 2017 13:08 > *To:* Any question about pharo is welcome > *Subject:* [Pharo-users] little "challenge" > > #(16 17 17 16 18 17 18 19 19 19 18 19 19 20 19 20 19 20 20 20 19 > 20) > > -> > > { #(17 17 16 18 17 18 19) . #(19 19 18 19 19 20 19) . #(20 19 20 20 20 19 > 20)} > > any code? >
