Add 1995/heathbar/try.sh
This commit is contained in:
1 parent
175f756686
commit
3463d79557
3 files changed
+58
-1
No files matched your search
@@ -17,7 +17,7 @@ where num is a non-negative number.
|
||||
## Try:
|
||||
|
||||
```sh
|
||||
./heathbar 4253 2281
|
||||
./try.sh
|
||||
```
|
||||
|
||||
|
||||
|
||||
Executable
+52
@@ -0,0 +1,52 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# try.sh - demonstrate IOCCC winner 1995/heathbar
|
||||
#
|
||||
|
||||
# make sure CC is set so that when we do make CC="$CC" it isn't empty. Doing it
|
||||
# this way allows us to have the user specify a different compiler in an easy
|
||||
# way.
|
||||
if [[ -z "$CC" ]]; then
|
||||
CC="cc"
|
||||
fi
|
||||
|
||||
make CC="$CC" all >/dev/null || exit 1
|
||||
|
||||
# clear screen after compilation so that only the entry is shown
|
||||
clear
|
||||
|
||||
heathbar()
|
||||
{
|
||||
if [[ "$#" -ne 2 ]]; then
|
||||
echo "$0: heathbar() expects two args, got $#" 1>&2
|
||||
return
|
||||
elif [[ "$1" -lt 0 || "$2" -lt 0 ]]; then
|
||||
echo "$0: heathbar() expects two positive digits, got $1 $2" 1>&2
|
||||
return
|
||||
fi
|
||||
|
||||
read -r -n 1 -p "Press any key to run: ./heathbar $1 $2: "
|
||||
echo 1>&2
|
||||
./heathbar "$1" "$2"
|
||||
echo 1>&2
|
||||
|
||||
read -r -n 1 -p "Press any key to run: echo \$(($1 + $2)): "
|
||||
echo 1>&2
|
||||
echo "$(("$1" + "$2"))"
|
||||
echo 1>&2
|
||||
|
||||
if [[ $(("$1"+"$2")) == "$(./heathbar "$1" "$2")" ]]; then
|
||||
echo "\$(($1+$2)) == ./heathbar $1 $2: $(./heathbar "$1" "$2")" 1>&2
|
||||
else
|
||||
echo "ERROR: \$(($1+$2)) != ./heathbar $1 $2: $(($1+$2)) != $(./heathbar "$1" "$2")" 1>&2
|
||||
fi
|
||||
|
||||
echo 1>&2
|
||||
}
|
||||
heathbar 4253 2281
|
||||
heathbar 1 2
|
||||
heathbar 3 5
|
||||
heathbar 1234 999
|
||||
read -r -n 1 -p "Press any key to try non-numbers: "
|
||||
echo 1>&2
|
||||
heathbar foo bar
|
||||
Reference in new issue
Block a user