Как работать со строками в Rust?
كيفية العمل بشكل صحيح مع السلاسل النصية في Rust؟ مشاكل الملكية والتحويلات
مرحباً بالجميع! أنا مبتدئ في Rust وواجهت صعوبات عند العمل مع السلاسل النصية. في اللغات الأخرى (Python, Java) تتصرف السلاسل النصية بشكل بديهي: يمكن دمجها وتعديلها وتمريرها إلى الدوال دون تعقيدات إضافية. أما في Rust فأواجه باستمرار أخطاء تجميع تتعلق بالملكية والاقتراض والأنواع String مقابل &str.
المشكلة المحددة: أحتاج إلى قراءة اسم المستخدم من stdin، ثم إضافة تحية إليه وإخراج النتيجة. جربت الكود التالي:
use std::io;
fn main() {
let mut name = String::new();
io::stdin().read_line(&mut name).expect("Failed to read line");
let greeting = "Hello, " + name; // خطأ!
println!("{}", greeting);
}يظهر المترجم خطأ: cannot add `String` to `&str`. أفهم أن