[squeak-dev] The Trunk: Collections-edc.285.mcz

Igor Stasenko siguctua at gmail.com
Fri Jan 29 10:44:58 UTC 2010


On 29 January 2010 11:58,  <commits at source.squeak.org> wrote:
> Edgar J. De Cleene uploaded a new version of Collections to project The Trunk:
> http://source.squeak.org/trunk/Collections-edc.285.mcz
>
> ==================== Summary ====================
>
> Name: Collections-edc.285
> Author: edc
> Time: 29 January 2010, 7:01:04.567 am
> UUID: b62a5e69-31ed-4958-b317-621a163b5a90
> Ancestors: Collections-ul.284
>
> -enh Add String > beginsWithAnyOf:
>
> =============== Diff against Collections-ul.284 ===============
>
> Item was added:
> + ----- Method: String>>beginsWithAnyOf: (in category 'comparing') -----
> + beginsWithAnyOf: aCollection
> +       aCollection do:[:suffix|
> +               (self beginsWith: suffix) ifTrue:[^true].
> +       ].
> +       ^false!
>

Edgar,
things begin with _prefix_
but end with _suffix_
;)

Also, putting that into Collection protocol is wrong place, because
base Collection class does not
specifying any order over its elements. And therefore any terms like
'begins with..' or 'ends with..' is not applicable to it.
(for example Set can't implement this method reliably).

So, you should move that method down the hierarchy, which  is
SequenceableCollection..
Also, if you want to extend a protocol in such way, you should care
about symmetry,
since you adding new #beginsXXX method, it is logical to also have
symmetric #endsXXX with analoguous behavior.

>
>



-- 
Best regards,
Igor Stasenko AKA sig.



More information about the Squeak-dev mailing list