24 lines
		
	
	
		
			629 B
		
	
	
	
		
			Factor
		
	
	
			
		
		
	
	
			24 lines
		
	
	
		
			629 B
		
	
	
	
		
			Factor
		
	
	
! Copyright (C) 2011 John Benediktsson
 | 
						|
! See http://factorcode.org/license.txt for BSD license
 | 
						|
 | 
						|
USING: combinators command-line io kernel math.order math.parser
 | 
						|
math.ranges namespaces sequences ;
 | 
						|
 | 
						|
IN: tools.seq
 | 
						|
 | 
						|
: usage ( -- )
 | 
						|
    "Usage: seq [first [incr]] last" print ;
 | 
						|
 | 
						|
: seq ( a step b -- )
 | 
						|
    swap <range> [ number>string print ] each ;
 | 
						|
 | 
						|
: run-seq ( -- )
 | 
						|
    command-line get dup length {
 | 
						|
        { 1 [ first string>number [ 1 1 ] dip seq ] }
 | 
						|
        { 2 [ first2 [ string>number ] bi@ 2dup before? 1 -1 ? swap seq ] }
 | 
						|
        { 3 [ first3 [ string>number ] tri@ seq ] }
 | 
						|
        [ 2drop usage ]
 | 
						|
    } case ;
 | 
						|
 | 
						|
MAIN: run-seq
 |