Avatar ·

كيفية تحويل حرف char إلى رقم int في Rust بحيث يصبح '1' مساوياً لـ 1؟

مرحباً بالجميع! لقد بدأت للتو في تعلم Rust وواجهت مهمة بسيطة للوهلة الأولى. أحتاج إلى قراءة حرف من سلسلة نصية وتحويله إلى عدد صحيح. على سبيل المثال، لدي سلسلة "123" وأريد المرور عليها بحلقة، وأخذ كل حرف ('1', '2', '3') وتحويله إلى العدد الصحيح المقابل (1, 2, 3).\n\nفي لغات أخرى، مثل Python أو JavaScript، يتم ذلك ببساطة: `int('1')` أو `parseInt('1')`. لكن في Rust لا أستطيع إيجاد مقابل مباشر. جربت كتابة هذا الكود:\n\n```rust\nfn main() {\n let c: char = '1';\n let n: i32 = c as i32; // محاولة 1\n println!("{}", n);\n}\n```\n\nلكن هذا يطبع 49 وليس 1. أفهم أن 49 هو رمز ASCII للحرف '1'. كيف يمكنني الحصول على القيمة الرقمية للرقم بشكل صحيح، وليس رمزه؟ أحتاج إلى حل.