首次提交
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
#!/bin/bash
|
||||
# shellcheck disable=SC2155
|
||||
if ! type "include" > /dev/null 2>&1; then
|
||||
include() {
|
||||
. "$(cd "$(dirname "$1")" && pwd)/${2}";
|
||||
};
|
||||
fi
|
||||
include "${BASH_SOURCE[0]}" ../pragma_once.bash
|
||||
if ! pragma_once ${BASH_SOURCE[0]}; then return 0; fi
|
||||
include "${BASH_SOURCE[0]}" ./global_rely/export.bash
|
||||
# shellcheck source=./global_rely/export.bash
|
||||
|
||||
|
||||
|
||||
|
||||
square() {
|
||||
echo $(($1 * $1))
|
||||
}
|
||||
|
||||
cube() {
|
||||
echo $(($1 * $1 * $1))
|
||||
}
|
||||
|
||||
add() {
|
||||
echo $(($1 + $2))
|
||||
}
|
||||
|
||||
map() {
|
||||
local fn=$1
|
||||
while read value; do
|
||||
$fn $value
|
||||
done
|
||||
}
|
||||
|
||||
reduce() {
|
||||
local fn=$1
|
||||
local result=${2:-0} # 初始值
|
||||
while read value; do
|
||||
result=$($fn $result $value)
|
||||
done
|
||||
echo $result
|
||||
}
|
||||
|
||||
#seq 1 10 | map square | reduce add # 平方和:385
|
||||
#seq 1 10 | map cube | reduce add # 立方和:3025
|
||||
|
||||
return 0
|
||||
Reference in New Issue
Block a user