comparison API

comparison 是包 Luna-Flow/luna-utils 中定义在 src/comparison.mbt 的部分:两个将值与闭区间进行比较的函数。两者都只需要 Compare,因此适用于数字、字符串以及任何其他有序类型。

fn[T : Compare] clamp(T, T, T) -> T
fn[T : Compare] is_between(T, T, T) -> Bool

clamp

当 value < min 时,clamp(value, min, max) 返回 min;当 value > max 时返回 max;否则返回 value。

边界不受检查。当 min > max 时,低于 min 的值得到 min,其他所有值都得到 max。

is_between

当 min <= value 且 value <= max 时,is_between(value, min, max) 返回 true;两个边界都属于该区间。当 min > max 时,它对任何值都返回 false。