Files
2026-07-07 15:23:39 +08:00

47 lines
785 B
Bash

#!/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