From bb079f544632dfd56e480157704712cf39c25816 Mon Sep 17 00:00:00 2001 From: axel Date: Mon, 23 Jan 2006 21:36:48 +1000 Subject: [PATCH] The seq fallback implementation is a shellscript, not a function darcs-hash:20060123113648-ac50b-d6be198177d3b822b4e5270a70064f764ecf3cf7.gz --- seq.in | 54 +++++++++++++++++++++++++----------------------------- 1 file changed, 25 insertions(+), 29 deletions(-) diff --git a/seq.in b/seq.in index 5906acb0d..bde7241c7 100755 --- a/seq.in +++ b/seq.in @@ -1,37 +1,33 @@ #!@prefix@/bin/fish -function seq -d "Print a sequnce of numbers" +set -l from 1 +set -l step 1 +set -l to 1 - set -l from 1 - set -l step 1 - set -l to 1 +switch (count $argv) + case 1 + set to $argv[1] - switch (count $argv) - case 1 - set to $argv[1] + case 2 + set from $argv[1] + set to $argv[2] - case 2 - set from $argv[1] - set to $argv[2] + case 3 + set from $argv[1] + set step $argv[2] + set to $argv[3] - case 3 - set from $argv[1] - set step $argv[2] - set to $argv[3] - - case '*' - printf (_ "%s: Expected 1, 2 or 3 arguments, got %d\n") seq (count $argv) - return 1 - - end - - for i in $from $step $to - if not echo $i | grep '^-\?[0-9]*\(\|.[0-9]\+\)$' >/dev/null - printf (_ "%s: '%s' is not a number\n") seq $i - return 1 - end - end - - echo "for( i=$from; i<$to ; i+=$step ) i;" | bc + case '*' + printf (_ "%s: Expected 1, 2 or 3 arguments, got %d\n") seq (count $argv) + return 1 end + +for i in $from $step $to + if not echo $i | grep '^-\?[0-9]*\(\|.[0-9]\+\)$' >/dev/null + printf (_ "%s: '%s' is not a number\n") seq $i + return 1 + end +end + +echo "for( i=$from; i<=$to ; i+=$step ) i;" | bc