[squeak-dev] The Inbox: Collections-ct.872.mcz

Chris Muller asqueaker at gmail.com
Mon Jan 20 22:31:27 UTC 2020


Hi Eliot,

I agree with your point that methods shouldn't be more general than they
need to be, but this isn't one of those cases.  SequenceableCollection
already behaves like a keyed collection with #at:, #at:ifAbsent:, and
#at:ifPresent:ifAbsent:.  I use them all the time, and sometimes I have an
empty block for the ifAbsent:.

+1 for this in trunk after the 5.3 release.





> > On Jan 19, 2020, at 3:26 PM, commits at source.squeak.org wrote:
> >
> > Christoph Thiede uploaded a new version of Collections to project The
> Inbox:
> > http://source.squeak.org/inbox/Collections-ct.872.mcz
> >
> > ==================== Summary ====================
> >
> > Name: Collections-ct.872
> > Author: ct
> > Time: 20 January 2020, 12:26:15.859545 am
> > UUID: 9d48e360-1121-6541-ba00-1d06311f2f0c
> > Ancestors: Collections-nice.870
> >
> > Implement #at:ifPresent: on SequenceableCollection
> >
> > Text theQuickBrownFox at: 42 ifPresent: [:char |
> >    self inform: ({char.char} joinSeparatedBy: $.) asUppercase].
> >
> > =============== Diff against Collections-nice.870 ===============
> >
> > Item was added:
> > + ----- Method: SequenceableCollection>>at:ifPresent: (in category
> 'accessing') -----
> > + at: index ifPresent: aBlock
> > +
> > +    ^ self at: index ifPresent: aBlock ifAbsent: []!
>
> Why is this in SequenceableCollection abd not KeyedCollection? Would it
> not work if implemented in Collection itself? Methods shouldn’t as general
> as possible. For e smoke, just because one needs a method to operate in
> Strings doesn’t mean it is t more useful higher up in ArrayedCollection.
> Thought extended here pays dividends later on.


> >
> >
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20200120/95f52147/attachment.html>


More information about the Squeak-dev mailing list