Avatar ·

كيفية الحصول على حرف من سلسلة نصية بواسطة الفهرس في Rust؟

لقد بدأت للتو في تعلم Rust وواجهت مشكلة تبدو غريبة جدًا بالنسبة لي. في لغات أخرى، مثل Python أو JavaScript، يمكنني بسهولة الحصول على حرف من سلسلة نصية بواسطة الفهرس: `"hello"[0]` سيعطيني `'h'`. ولكن عندما حاولت فعل الشيء نفسه في Rust، أظهر المترجم خطأ. إليك الكود الخاص بي: ```rust fn main() { let s = String::from("Привет, мир!"); let first = s[0]; // خطأ! println!("أول حرف: {}", first); } ``` يقول المترجم شيئًا مثل: "the type `String` cannot be indexed by `{integer}`". أفهم أن Rust لغة آمنة، لكن لماذا لا يمكن ببساطة أخذ حرف بواسطة الفهرس؟ ففي اللغات الأخرى هذا يعمل! كيف يمكنني إذن الحصول على حرف من سلسلة نصية بشكل صحيح؟ ما الذي أفعله بشكل خاطئ؟ أحتاج إلى معالجة كل حرف في السلسلة النصية بشكل منفصل، على سبيل المثال، للتحقق مما إذا كان الحرف الأول حرفًا أم رقمًا. أرشدني إلى كيفية القيام بذلك في Rust.