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

commits at source.squeak.org commits at source.squeak.org
Sun Feb 16 14:32:26 UTC 2020


A new version of Collections was added to project The Inbox:
http://source.squeak.org/inbox/Collections-ct.875.mcz

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

Name: Collections-ct.875
Author: ct
Time: 16 February 2020, 3:32:23.116 pm
UUID: 61ea773b-1408-c040-a712-09238ee6fe2f
Ancestors: Collections-topa.873

Extends and realigns version of #findFirst: and #findLast:.

=============== Diff against Collections-topa.873 ===============

Item was changed:
  ----- Method: SequenceableCollection>>findFirst: (in category 'enumerating') -----
  findFirst: aBlock
- 	"Return the index of my first element for which aBlock evaluates as true."
  
+ 	^ self findFirst: aBlock startingAt: 1!
- 	| index |
- 	index := 0.
- 	[(index := index + 1) <= self size] whileTrue:
- 		[(aBlock value: (self at: index)) ifTrue: [^index]].
- 	^ 0!

Item was added:
+ ----- Method: SequenceableCollection>>findFirst:ifNone: (in category 'enumerating') -----
+ findFirst: aBlock ifNone: anotherBlock
+ 
+ 	^ self findFirst: aBlock startingAt: 1 ifNone: anotherBlock!

Item was added:
+ ----- Method: SequenceableCollection>>findFirst:startingAt: (in category 'enumerating') -----
+ findFirst: aBlock startingAt: minIndex
+ 
+ 	^ self findFirst: aBlock startingAt: minIndex ifNone: [0]!

Item was added:
+ ----- Method: SequenceableCollection>>findFirst:startingAt:ifNone: (in category 'enumerating') -----
+ findFirst: aBlock startingAt: minIndex ifNone: anotherBlock
+ 	"Return the index of my first element with index >= minIndex for which aBlock evaluates as true. If no element is found, return the value of anotherBlock."
+ 
+ 	| index |
+ 	index := minIndex - 1.
+ 	[(index := index + 1) <= self size] whileTrue:
+ 		[(aBlock value: (self at: index)) ifTrue: [^index]].
+ 	^ anotherBlock value!

Item was changed:
  ----- Method: SequenceableCollection>>findLast: (in category 'enumerating') -----
  findLast: aBlock
- 	"Return the index of my last element for which aBlock evaluates as true."
  
+ 	^ self findLast: aBlock startingAt: 1!
- 	| index |
- 	index := self size + 1.
- 	[(index := index - 1) >= 1] whileTrue:
- 		[(aBlock value: (self at: index)) ifTrue: [^index]].
- 	^ 0!

Item was added:
+ ----- Method: SequenceableCollection>>findLast:ifNone: (in category 'enumerating') -----
+ findLast: aBlock ifNone: anotherBlock
+ 
+ 	^ self findLast: aBlock startingAt: 1 ifNone: anotherBlock!

Item was changed:
  ----- Method: SequenceableCollection>>findLast:startingAt: (in category 'enumerating') -----
+ findLast: aBlock startingAt: minIndex
- findLast: aBlock startingAt: i
- 	"Return the index of my last element with index >= i for which aBlock evaluates as true."
  
+ 	^ self findLast: aBlock startingAt: minIndex ifNone: [0]!
- 	| index |
- 	index := self size + 1.
- 	[(index := index - 1) >= i] whileTrue:
- 		[(aBlock value: (self at: index)) ifTrue: [^index]].
- 	^ 0!

Item was added:
+ ----- Method: SequenceableCollection>>findLast:startingAt:ifNone: (in category 'enumerating') -----
+ findLast: aBlock startingAt: minIndex ifNone: anotherBlock
+ 	"Return the index of my last element with index >= minIndex for which aBlock evaluates as true.  If no element is found, return the value of anotherBlock."
+ 
+ 	| index |
+ 	index := self size + 1.
+ 	[(index := index - 1) >= minIndex] whileTrue:
+ 		[(aBlock value: (self at: index)) ifTrue: [^index]].
+ 	^ anotherBlock value!



More information about the Squeak-dev mailing list