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

Thiede, Christoph Christoph.Thiede at student.hpi.uni-potsdam.de
Mon Jan 20 11:06:46 UTC 2020

Hi Eliot,

not sure if I understand you correctly. You suggest to be as generic as possible, or you don't?

I think as we already define #at:ifAbsent: and #at:ifPresent:ifAbsent: on SequenceableCollection, it would be only consistent to implement #at:ifPresent: here as well.

What should be a KeyedCollection? KeyedSet already implements #at:ifPresent:.

> Would it not work if implemented in Collection itself?

I cannot imagine, because for example, a Set does not implement #at: ...

Von: Squeak-dev <squeak-dev-bounces at lists.squeakfoundation.org> im Auftrag von Eliot Miranda <eliot.miranda at gmail.com>
Gesendet: Montag, 20. Januar 2020 03:52:52
An: squeak-dev at lists.squeakfoundation.org
Betreff: Re: [squeak-dev] The Inbox: Collections-ct.872.mcz

Hi Christoph,

> 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/d38a3199/attachment.html>

More information about the Squeak-dev mailing list