Avatar ·

كيفية دمج السلاسل النصية في Rust بشكل صحيح: دليل كامل للمبتدئين

مرحبًا أيها الزملاء! لقد بدأت للتو في تعلم Rust وواجهت مشكلة حيرتني كثيرًا. أحتاج إلى دمج عدة سلاسل نصية في سلسلة واحدة، لكنني لا أستطيع فهم كيفية القيام بذلك بشكل صحيح، وأستمر في الحصول على أخطاء في الترجمة. إليك مثال على الكود الخاص بي: ```rust fn main() { let hello = "Hello"; let world = "world"; let message = hello + " " + world; println!("{}", message); } ``` يُصدر المترجم خطأ: `cannot add `&str` to `&str``. جربت خيارات مختلفة: استخدام `format!`، `push_str`، لكنني ما زلت مرتبكًا. في لغات أخرى، مثل Python أو JavaScript، أكتب ببساطة `"Hello" + " " + "world"` ويعمل كل شيء. أما في Rust فهناك أنواع كثيرة: `String`، `&str`، `String::from`، `to_string()`. متى نستخدم أيًا منها؟ أحتاج إلى دمج ليس فقط الثوابت النصية، بل أيضًا المتغيرات التي تأتي من أماكن مختلفة: بعضها بالفعل من نوع `String`، والبعض الآخر عبارة عن شرائح نصية. أرجو إرشادي، كيف يمكن دمج السلاسل النصية في Rust بشكل صحيح وفعال؟