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

clamp(value, min, max) は、value < min のとき min、value > max のとき max、それ以外のとき value を返します。

境界は検査されません。min > max のとき、min より小さい値に対しては min を、それ以外のすべての値に対しては max を返します。

is_between

is_between(value, min, max) は、min <= value かつ value <= max のとき true を返します。両端の境界も区間に含まれます。min > max のときは、どの値に対しても false を返します。