clamp メソッド
Rust である数値を指定した範囲に収まるように修正するには、clamp
メソッドを使用します。
次の例では、いろいろな数値を「0 以上 5 以下」の範囲に収まるように修正しています。
println!("{}", (-3).clamp(0, 5)); //=> 0
println!("{}", 0.clamp(0, 5)); //=> 0
println!("{}", 2.clamp(0, 5)); //=> 2
println!("{}", 7.clamp(0, 5)); //=> 5
min / max メソッド
clamp
メソッドは、数値を指定した最小値と最大値の範囲に収まるようにするメソッドでしたが、最小値と最大値のいずれかを指定すればよい場合は、max
や min
メソッドを使用します。
// 0 以上になるように修正する
println!("{}", (-5).max(0)); //=> 0
println!("{}", 0.max(0)); //=> 0
println!("{}", 10.max(0)); //=> 10
// 100 以下になるように修正する
println!("{}", (-5).min(100)); //=> -5
println!("{}", (27).min(100)); //=> 27
println!("{}", (999).min(100)); //=> 100