توجد فئتان مختلفتان من الأعداد في Rust: الأعداد الصحيحة (التي يمكن أن تكون موقّعة أو غير موقّعة) وأعداد الفاصلة العائمة.
يتكوّن اسم النوع العددي من جزأين:
u)، أو عددًا صحيحًا موقّعًا (i)، أو عددًا من أعداد الفاصلة العائمة (f).وتتوفر التركيبات التالية:
u8، i8
u16، i16
u32، i32، f32
u64، i64، f64
u128، i128
لاحظ أن أعداد الفاصلة العائمة لها صيغتان فقط: 32 بت و64 بت.
لا يقوم Rust بأي تحويل ضمني للأنواع.
وهذا يعني أنك إذا احتجت إلى تحويل نوع عددي إلى نوع آخر، فعليك القيام بذلك صراحةً.
وعند التحويل من نوع أكبر إلى نوع أصغر (على سبيل المثال من u64 إلى u32) فقد تفقد بعض البيانات.
أما التحويل من عدد الفاصلة العائمة إلى عدد صحيح، فسيفقد كل ما يقع بعد الفاصلة العشرية، أي إنه يقرّب العدد للأسفل فعليًا.
في هذا التمرين ستكتب كودًا لتحليل إنتاج خط تجميع في مصنع سيارات. يمكن أن تتراوح سرعة خط التجميع من 0 (متوقف) إلى 10 (الحد الأقصى).
عند أدنى سرعة له (1)، تُنتَج 221 سيارة كل ساعة. ويزداد الإنتاج خطيًا مع زيادة السرعة. لذا عند ضبط السرعة على 4، ينبغي أن يُنتِج 4 * 221 = 884 سيارة في الساعة. غير أن السرعات الأعلى تزيد احتمال إنتاج سيارات معيبة، يجب التخلص منها بعد ذلك. يوضح الجدول التالي كيف تؤثر السرعة في معدل النجاح:
1 إلى 4: معدل نجاح 100%.5 إلى 8: معدل نجاح 90%.9 و10: معدل نجاح 77%.لديك مهمتان.
نفّذ طريقة لحساب معدل إنتاج خط التجميع في الساعة، مع مراعاة معدل نجاحه:
assembly_line::production_rate_per_hour(6)
// Returns: 1193.4
لاحظ أن القيمة المُرجَعة من النوع f64.
نفّذ طريقة لحساب عدد السيارات العاملة المُنتَجة في كل دقيقة:
assembly_line::working_items_per_minute(6)
// Returns: 19
لاحظ أن القيمة المُرجَعة من النوع u32.
سجّل في Exercism لتتعلّم وتتقن Rust عبر 99 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.