Rustの数値には、大きく分けて2つの種類があります。整数(符号付きと符号なしがあります)と、浮動小数点数です。
数値型の名前は、次の2つの部分からなります。
u)、符号付き整数(i)、浮動小数点数(f)のどれかを表します。組み合わせは次のとおりです。
u8、i8
u16、i16
u32、i32、f32
u64、i64、f64
u128、i128
浮動小数点数には、32ビットと64ビットの2種類しかないことに注意しましょう。
Rustは、暗黙的な型変換を行いません。
つまり、ある数値型を別の数値型に変換する必要がある場合は、明示的に変換しなければなりません。
サイズの大きい型から小さい型へ変換するとき(たとえばu64からu32へ)は、データが失われる可能性があります。
浮動小数点数から整数に変換すると、小数点以下は必ず失われ、実質的に切り捨てになります。
この演習では、自動車工場の組み立てラインの生産を分析するコードを書きます。組み立てラインの速度は、0(オフ)から10(最大)までの範囲です。
最低速度(1)では、1時間に221台の車が生産されます。生産量は速度に比例して増加します。つまり、速度を4に設定すると、1時間に4 * 221 = 884台の車を生産することになります。ただし、速度が上がるほど、不良車が生産される可能性が高くなり、そうした車は廃棄しなければなりません。次の表は、速度が成功率にどのように影響するかを示しています。
1から4:成功率は100%です。5から8:成功率は90%です。9と10:成功率は77%です。ここには2つのタスクがあります。
成功率を考慮して、組み立てラインの1時間あたりの生産率を計算するメソッドを実装します。
assembly_line::production_rate_per_hour(6)
// Returns: 1193.4
戻り値がf64であることに注意してください。
1分あたりに何台の良品の車が生産されるかを計算するメソッドを実装します。
assembly_line::working_items_per_minute(6)
// Returns: 19
戻り値がu32であることに注意してください。