--- a/Interval.st Tue Aug 16 17:55:01 2005 +0200
+++ b/Interval.st Tue Aug 16 18:50:00 2005 +0200
@@ -13,10 +13,10 @@
"{ Package: 'stx:libbasic' }"
ReadOnlySequenceableCollection subclass:#Interval
- instanceVariableNames:'start stop step'
- classVariableNames:''
- poolDictionaries:''
- category:'Collections-Sequenceable'
+ instanceVariableNames:'start stop step'
+ classVariableNames:''
+ poolDictionaries:''
+ category:'Collections-Sequenceable'
!
!Interval class methodsFor:'documentation'!
@@ -255,14 +255,21 @@
|newCollection|
- newCollection := self species new:(self size).
- self do:[:each |
- newCollection add:(aBlock value:each)
+ (start == 1 and:[step == 1]) ifTrue:[
+ newCollection := Array new:(self size).
+ self do:[:each |
+ newCollection at:each put:(aBlock value:each)
+ ].
+ ] ifFalse:[
+ newCollection := self species new:(self size).
+ self do:[:each |
+ newCollection add:(aBlock value:each)
+ ].
].
^ newCollection
"
- (1 to:20) collect:[:i | i*i]
+ (1 to:20) collect:[:i | i*i]
"
!
@@ -547,5 +554,5 @@
!Interval class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/Interval.st,v 1.41 2004-06-11 18:10:32 stefan Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/Interval.st,v 1.42 2005-08-16 16:50:00 cg Exp $'
! !