30 lines
		
	
	
	
		
			528 B
		
	
	
	
		
			Text
		
	
	
	
	
	
		
		
			
		
	
	
			30 lines
		
	
	
	
		
			528 B
		
	
	
	
		
			Text
		
	
	
	
	
	
|   | # Generate a sequence from m to n, m defaults to 1. | ||
|  | 
 | ||
|  | seq () | ||
|  | { | ||
|  | 	declare -i lo hi i	# makes local | ||
|  | 	local _SEQ | ||
|  | 
 | ||
|  | 	case $# in | ||
|  | 	1) seq 1 "$1" ; return $? ;; | ||
|  | 	2) lo=$1 hi=$2 | ||
|  | 	   i=$lo _SEQ="" | ||
|  | 	   while let "i <= hi"; do | ||
|  | 		_SEQ="${_SEQ}$i " | ||
|  | 		let i+=1 | ||
|  | 	   done | ||
|  | 	   echo "${_SEQ# }" | ||
|  | 	   return 0 ;; | ||
|  | 	*) echo seq: usage: seq [low] high 1>&2 ; return 2 ;; | ||
|  | 	esac | ||
|  | } | ||
|  | 
 | ||
|  | # like the APL `iota' function (or at least how I remember it :-) | ||
|  | iota() | ||
|  | { | ||
|  | 	case $# in | ||
|  | 	1) seq 1 "$1"; return $?;; | ||
|  | 	*) echo "iota: usage: iota high" 1>&2; return 2;; | ||
|  | 	esac | ||
|  | } |