Avatar ·

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

مرحبًا! لقد بدأت للتو في تعلم Rust، وواجهت مشكلة. أنا أكتب أداة صغيرة لوحدة التحكم يجب أن تأخذ اسم ملف ووضع التشغيل (مثل "read" أو "write") من سطر الأوامر. في لغات أخرى، مثل Python، كنت أستخدم sys.argv، وفي C استخدمت argc/argv. لكن في Rust لا أستطيع فهم كيفية القيام بذلك. إليك ما جربته: ```rust fn main() { let args = std::env::args(); println!("{:?}", args); } ``` لكن هذا يطبع شيئًا غريبًا: `Args { inner: ["target/debug/myapp", "test.txt", "read"] }`. كيف يمكنني الحصول على سلاسل منفصلة، بدلاً من هذا الكائن غير الواضح؟ وكيف أتحقق من عدد الوسائط التي تم تمريرها؟ أحتاج إلى أن يعمل البرنامج هكذا: `myapp test.txt read` — لقراءة الملف، و `myapp test.txt write` — للكتابة فيه. إذا كان عدد الوسائط أقل من اثنين، يجب طباعة رسالة خطأ والخروج. من فضلك، أخبرني كيف أتعامل مع وسائط سطر الأوامر في Rust بشكل صحيح؟ لقد سمعت عن crate `clap`، لكنني أود أولاً