[Pkg] The Trunk: Collections-ar.287.mcz

commits at source.squeak.org commits at source.squeak.org
Tue Feb 2 03:17:19 UTC 2010


Andreas Raab uploaded a new version of Collections to project The Trunk:
http://source.squeak.org/trunk/Collections-ar.287.mcz

==================== Summary ====================

Name: Collections-ar.287
Author: ar
Time: 1 February 2010, 7:16:54.576 pm
UUID: 3840f8bc-07e3-6f4c-a3d6-8b52f89973aa
Ancestors: Collections-edc.285, Collections-edc.286

Merge Collections-edc.286 with some changes:
- Implement both beginsWithAnyOf: as well as endsWithAnyOf:
- Push the implementation up to SequenceableCollection
- Simplify the implementation (using #anySatisfy:)
- Add comments (also in beginsWith: and endsWith:)
- Add tests


=============== Diff against Collections-edc.285 ===============

Item was changed:
  ----- Method: SequenceableCollection>>beginsWith: (in category 'testing') -----
  beginsWith: aSequenceableCollection
+ 	"Answer true if the receiver starts with the argument collection"
- 
  	(aSequenceableCollection isEmpty or: [self size < aSequenceableCollection size]) ifTrue: [^false].
  	aSequenceableCollection withIndexDo: [:each :index | (self at: index) ~= each ifTrue: [^false]].
  	^true!

Item was changed:
  ----- Method: SequenceableCollection>>endsWith: (in category 'testing') -----
  endsWith: aSequenceableCollection
+ 	"Answer true if the receiver ends with the argument collection"
- 
  	| start |
  	(aSequenceableCollection isEmpty or: [self size < aSequenceableCollection size]) ifTrue: [^false].
  	start := self size - aSequenceableCollection size.
  	aSequenceableCollection withIndexDo: [:each :index | (self at: start + index) ~= each ifTrue: [^false]].
  	^true!

Item was added:
+ ----- Method: SequenceableCollection>>endsWithAnyOf: (in category 'testing') -----
+ endsWithAnyOf: aCollection
+ 	"Return true if the receiver ends with any of the elements in aCollection."
+ 	^aCollection anySatisfy:[:suffix| self endsWith: suffix].!

Item was added:
+ ----- Method: SequenceableCollection>>beginsWithAnyOf: (in category 'testing') -----
+ beginsWithAnyOf: aCollection
+ 	"Return true if the receiver starts with any of the elements in aCollection."
+ 	^aCollection anySatisfy:[:prefix| self beginsWith: prefix].!

Item was removed:
- ----- Method: String>>beginsWithAnyOf: (in category 'comparing') -----
- beginsWithAnyOf: aCollection
- 	aCollection do:[:suffix|
- 		(self beginsWith: suffix) ifTrue:[^true].
- 	].
- 	^false!



More information about the Packages mailing list