enhance(meter):完成大部分表计相关的接口。

This commit is contained in:
徐涛
2023-06-11 22:31:32 +08:00
parent e366888608
commit 2339e4c725
10 changed files with 700 additions and 36 deletions

View File

@@ -91,6 +91,14 @@ func CondFn[T, R any](exprFn func(val T) bool, value T, trueValue, falseValue R)
return Cond(exprFn(value), trueValue, falseValue)
}
// 使用给定的函数对指定的值进行判断,根据表达式的值返回指定的值。本函数为惰性求值。
func CondFnElse[T, R any](exprFn func(val T) bool, value T, trueValueFn func(val T) R, falseValueFn func(val T) R) R {
if exprFn(value) {
return trueValueFn(value)
}
return falseValueFn(value)
}
// 使用给定的函数对指定的值进行判断,如果表达式为真,则返回指定的值,否则返回另一个值。
func CondOr[T any](exprFn func(val T) bool, value, elseValue T) T {
return CondFn(exprFn, value, value, elseValue)