Avatar ·

كيفية عمل حلقة for عكسية في Rust؟ (ترتيب التكرار العكسي)

تحية للجميع! بدأت مؤخرًا في تعلم Rust وواجهت مشكلة عند كتابة حلقة عكسية. في Python اعتدت على استخدام `for i in range(10, 0, -1)` لتكرار الأرقام من 10 إلى 1. في Rust حاولت كتابة شيء مشابه: ```rust for i in 10..0 { println!("{}", i); } ``` لكن هذا الكود لا يطبع أي شيء. كنت أتوقع أن تتم طباعة 10, 9, 8... 1، لكن الحلقة لا تنفذ أبدًا. على ما يبدو، النطاق `10..0` فارغ، لأن Rust بشكل افتراضي يتجه فقط بترتيب تصاعدي. جربت أيضًا استخدام `for i in (0..10).rev()` — هذا يعمل، لكنه يعطي أرقامًا من 9 إلى 0، وأنا بحاجة إلى أرقام من 10 إلى 1 (ضمنًا). كيف يمكنني عمل حلقة عكسية تشمل القيمة البدائية والنهائية؟ وهل هناك طريقة لعمل ذلك بدون `.rev()`، على سبيل المثال باستخدام الصيغة العادية؟ شكرًا مقدمًا على المساعدة! لقد بحثت في Google، لكن Stack Overflow باللغة الإنجليزية، وأنا أريد أن أفهم باللغة العربية مع شرح للمبتدئين. <<>>

الحلقة العكسية الصحيحة