|  | @@ -817,7 +817,6 @@ to: aNumber
 | 
	
		
			
				|  |  |  	first := self truncated.
 | 
	
		
			
				|  |  |  	last := aNumber truncated + 1.
 | 
	
		
			
				|  |  |  	count := 1.
 | 
	
		
			
				|  |  | -	(first <= last) ifFalse: [self error: 'Wrong interval'].
 | 
	
		
			
				|  |  |  	array := Array new.
 | 
	
		
			
				|  |  |  	(last - first) timesRepeat: [
 | 
	
		
			
				|  |  |  	    array at: count put: first.
 | 
	
	
		
			
				|  | @@ -848,6 +847,37 @@ asPoint
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  asJSONObject
 | 
	
		
			
				|  |  |  	^self
 | 
	
		
			
				|  |  | +!
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +to: stop by: step
 | 
	
		
			
				|  |  | +	| array value pos |
 | 
	
		
			
				|  |  | +	value := self.
 | 
	
		
			
				|  |  | +	array := Array new.
 | 
	
		
			
				|  |  | +	pos := 1.
 | 
	
		
			
				|  |  | +	step = 0 ifTrue: [self error: 'step must be non-zero'].
 | 
	
		
			
				|  |  | +	step < 0
 | 
	
		
			
				|  |  | +		ifTrue: [[ value >= stop ] whileTrue: [
 | 
	
		
			
				|  |  | +	    			array at: pos put: value.
 | 
	
		
			
				|  |  | +	    			pos := pos + 1.
 | 
	
		
			
				|  |  | +	    			value := value + step]]
 | 
	
		
			
				|  |  | +		ifFalse: [[ value <= stop ] whileTrue: [
 | 
	
		
			
				|  |  | +	    			array at: pos put: value.
 | 
	
		
			
				|  |  | +	  			pos := pos + 1.
 | 
	
		
			
				|  |  | +	    			value := value + step]].
 | 
	
		
			
				|  |  | +	^array
 | 
	
		
			
				|  |  | +!
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +to: stop by: step do: aBlock
 | 
	
		
			
				|  |  | +	| value |
 | 
	
		
			
				|  |  | +	value := self.
 | 
	
		
			
				|  |  | +	step = 0 ifTrue: [self error: 'step must be non-zero'].
 | 
	
		
			
				|  |  | +	step < 0
 | 
	
		
			
				|  |  | +		ifTrue: [[ value >= stop ] whileTrue: [
 | 
	
		
			
				|  |  | +	    			aBlock value: value.
 | 
	
		
			
				|  |  | +	    			value := value + step]]
 | 
	
		
			
				|  |  | +		ifFalse: [[ value <= stop ] whileTrue: [
 | 
	
		
			
				|  |  | +	    			aBlock value: value.
 | 
	
		
			
				|  |  | +	    			value := value + step]]
 | 
	
		
			
				|  |  |  ! !
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  !Number methodsFor: 'enumerating'!
 | 
	
	
		
			
				|  | @@ -861,8 +891,14 @@ timesRepeat: aBlock
 | 
	
		
			
				|  |  |  	    count := count + 1]
 | 
	
		
			
				|  |  |  !
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -to: aNumber do: aBlock
 | 
	
		
			
				|  |  | -	^(self to: aNumber) do: aBlock
 | 
	
		
			
				|  |  | +to: stop do: aBlock
 | 
	
		
			
				|  |  | +	"Evaluate aBlock for each number from self to aNumber."
 | 
	
		
			
				|  |  | +	| nextValue |
 | 
	
		
			
				|  |  | +	nextValue := self.
 | 
	
		
			
				|  |  | +	[nextValue <= stop]
 | 
	
		
			
				|  |  | +		whileTrue: 
 | 
	
		
			
				|  |  | +			[aBlock value: nextValue.
 | 
	
		
			
				|  |  | +			nextValue := nextValue + 1]
 | 
	
		
			
				|  |  |  ! !
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  !Number methodsFor: 'printing'!
 |