29 lines
528 B
Text
29 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
|
|
}
|