تمرين إعادة البناء
Simple Calculator
أعد كتابة آلة حاسبة بسيطة تستخدم المطابقة على العملية المطلوبة.
rust
~10 دقيقة
مبتدئ
أعد بناء الكود
Rebuild
هذا هو الكود. اكتبه بنفسك.
الكود المرجعي
use std::env;
fn main() {
let args: Vec<String> = env::args().collect();
if args.len() != 4 {
println!("Usage: {} <left> <+|-|*|/> <right>", args[0]);
return;
}
// حوّل النص إلى أرقام — Convert text into numbers
let left: f64 = match args[1].parse() {
Ok(number) => number,
Err(_) => {
println!("Left value is not a number");
return;
}
};
let right: f64 = match args[3].parse() {
Ok(number) => number,
Err(_) => {
println!("Right value is not a number");
return;
}
};
// اختر العملية — Choose the operation
let result = match args[2].as_str() {
"+" => left + right,
"-" => left - right,
"*" => left * right,
"/" if right != 0.0 => left / right,
"/" => {
println!("Cannot divide by zero");
return;
}
_ => {
println!("Unknown operator: {}", args[2]);
return;
}
};
println!("{left} {} {right} = {result}", args[2]);
}اكتب هنا