Avatar ·

كيفية الحصول على وسائط سطر الأوامر في Rust؟

مرحباً بالجميع! لقد بدأت للتو في تعلم Rust وواجهت مهمة تبدو بسيطة — أحتاج إلى تمرير معاملات إلى برنامجي عند تشغيله من سطر الأوامر. على سبيل المثال، أريد كتابة أداة لتحويل الصور تأخذ مسار الملف المصدر ومسار حفظ النتيجة. كنت أتوقع أن Rust يحتوي على شيء مثل `sys.argv` من Python أو `process.argv` من Node.js، لكنني لا أجد مشابهاً مباشراً. إليك ما جربته: ```rust fn main() { let args = std::env::args(); println!("Arguments: {:?}", args); } ``` لكن في وحدة التحكم يظهر شيء غريب مثل `Args { inner: [...] }` وليس قائمة من السلاسل النصية. أريد الحصول على مصفوفة من السلاسل النصية لأتمكن من الوصول إليها بواسطة الفهرس: `args[0]` (اسم البرنامج)، `args[1]` (الوسيط الأول) وهكذا. أيضاً، يهمني كيفية التعامل بشكل صحيح مع الحالة التي لا يقوم فيها المستخدم بتمرير الوسائط المطلوبة — يجب عرض رسالة خطأ وتعليمات الاستخدام. وهل هناك أدوات مدمجة؟