Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
|
|
@ -0,0 +1,9 @@
|
|||
compose() {
|
||||
eval "$1() { $3 | $2; }"
|
||||
}
|
||||
|
||||
downvowel() { tr AEIOU aeiou; }
|
||||
upcase() { tr a-z A-Z; }
|
||||
compose c downvowel upcase
|
||||
echo 'Cozy lummox gives smart squid who asks for job pen.' | c
|
||||
# => CoZY LuMMoX GiVeS SMaRT SQuiD WHo aSKS FoR JoB PeN.
|
||||
137
Task/Function-composition/UNIX-Shell/function-composition-2.sh
Normal file
137
Task/Function-composition/UNIX-Shell/function-composition-2.sh
Normal file
|
|
@ -0,0 +1,137 @@
|
|||
#compose a new function consisting of the application of 2 unary functions
|
||||
|
||||
compose () { f="$1"; g="$2"; x="$3"; "$f" "$("$g" "$x")";}
|
||||
|
||||
|
||||
chartolowervowel()
|
||||
# Usage: chartolowervowel "A" --> "a"
|
||||
|
||||
#Based on a to_upper script in Chris F. A. Johnson's book Pro Bash Programming Ch7. String Manipulation
|
||||
#(with minor tweaks to use local variables and return the value of the converted character
|
||||
#http://cfajohnson.com/books/cfajohnson/pbp/
|
||||
#highly recommended I have a copy and have bought another for a friend
|
||||
{
|
||||
|
||||
local LWR="";
|
||||
|
||||
case $1 in
|
||||
A*) _LWR=a ;;
|
||||
# B*) _LWR=b ;;
|
||||
# C*) _LWR=c ;;
|
||||
# D*) _LWR=d ;;
|
||||
E*) _LWR=e ;;
|
||||
# F*) _LWR=f ;;
|
||||
# G*) _LWR=g ;;
|
||||
# H*) _LWR=h ;;
|
||||
I*) _LWR=i ;;
|
||||
# J*) _LWR=j ;;
|
||||
# K*) _LWR=k ;;
|
||||
# L*) _LWR=L ;;
|
||||
# M*) _LWR=m ;;
|
||||
# N*) _LWR=n ;;
|
||||
O*) _LWR=o ;;
|
||||
# P*) _LWR=p ;;
|
||||
# Q*) _LWR=q ;;
|
||||
# R*) _LWR=r ;;
|
||||
# S*) _LWR=s ;;
|
||||
# T*) _LWR=t ;;
|
||||
U*) _LWR=u ;;
|
||||
# V*) _LWR=v ;;
|
||||
# W*) _LWR=w ;;
|
||||
# X*) _LWR=x ;;
|
||||
# Y*) _LWR=y ;;
|
||||
# Z*) _LWR=z ;;
|
||||
*) _LWR=${1%${1#?}} ;;
|
||||
esac;
|
||||
echo "$_LWR";
|
||||
}
|
||||
|
||||
strdownvowel()
|
||||
# Usage: strdownvowel "STRING" --> "STRiNG"
|
||||
|
||||
#Based on an upword script in Chris F. A. Johnson's book Pro Bash Programming Ch7. String Manipulation
|
||||
#(with minor tweaks to use local variables and return the value of the converted string
|
||||
#http://cfajohnson.com/books/cfajohnson/pbp/
|
||||
#highly recommended I have a copy and have bought another for a friend
|
||||
|
||||
{
|
||||
local _DWNWORD=""
|
||||
local word="$1"
|
||||
while [ -n "$word" ] ## loop until nothing is left in $word
|
||||
do
|
||||
chartolowervowel "$word" >> /dev/null
|
||||
_DWNWORD=$_DWNWORD$_LWR
|
||||
word=${word#?} ## remove the first character from $word
|
||||
|
||||
done
|
||||
Echo "$_DWNWORD"
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
chartoupper()
|
||||
# Usage: chartoupper "s" --> "S"
|
||||
|
||||
#From Chris F. A. Johnson's book Pro Bash Programming Ch7. String Manipulation
|
||||
#(with minor tweaks to use local variables and return the value of the converted character
|
||||
#http://cfajohnson.com/books/cfajohnson/pbp/
|
||||
#highly recommended I have a copy and have bought another for a friend
|
||||
{
|
||||
local UPR="";
|
||||
|
||||
case $1 in
|
||||
a*) _UPR=A ;;
|
||||
b*) _UPR=B ;;
|
||||
c*) _UPR=C ;;
|
||||
d*) _UPR=D ;;
|
||||
e*) _UPR=E ;;
|
||||
f*) _UPR=F ;;
|
||||
g*) _UPR=G ;;
|
||||
h*) _UPR=H ;;
|
||||
i*) _UPR=I ;;
|
||||
j*) _UPR=J ;;
|
||||
k*) _UPR=K ;;
|
||||
l*) _UPR=L ;;
|
||||
m*) _UPR=M ;;
|
||||
n*) _UPR=N ;;
|
||||
o*) _UPR=O ;;
|
||||
p*) _UPR=P ;;
|
||||
q*) _UPR=Q ;;
|
||||
r*) _UPR=R ;;
|
||||
s*) _UPR=S ;;
|
||||
t*) _UPR=T ;;
|
||||
u*) _UPR=U ;;
|
||||
v*) _UPR=V ;;
|
||||
w*) _UPR=W ;;
|
||||
x*) _UPR=X ;;
|
||||
y*) _UPR=Y ;;
|
||||
z*) _UPR=Z ;;
|
||||
*) _UPR=${1%${1#?}} ;;
|
||||
esac;
|
||||
echo "$_UPR";
|
||||
}
|
||||
|
||||
strupcase()
|
||||
# Usage: strupcase "string" --> "STRING"
|
||||
|
||||
#Based on an upword script in Chris F. A. Johnson's book Pro Bash Programming Ch7. String Manipulation
|
||||
#(with minor tweaks to use local variables and return the value of the converted string
|
||||
#http://cfajohnson.com/books/cfajohnson/pbp/
|
||||
#highly recommended I have a copy and have bought another for a friend
|
||||
|
||||
{
|
||||
local _UPWORD=""
|
||||
local word="$1"
|
||||
while [ -n "$word" ] ## loop until nothing is left in $word
|
||||
do
|
||||
chartoupper "$word" >> /dev/null
|
||||
_UPWORD=$_UPWORD$_UPR
|
||||
word=${word#?} ## remove the first character from $word
|
||||
|
||||
done
|
||||
Echo "$_UPWORD"
|
||||
}
|
||||
|
||||
compose strdownvowel strupcase "Cozy lummox gives smart squid who asks for job pen."
|
||||
# --> CoZY LuMMoX GiVeS SMaRT SQuiD WHo aSKS FoR JoB PeN.
|
||||
Loading…
Add table
Add a link
Reference in a new issue