Avatar ·

كيفية تحويل Vec<String> إلى Vec<&str> في Rust؟

مرحباً بالجميع! بدأت تعلم Rust وواجهت مشكلة في تحويل الأنواع. لدي `Vec`، وأحتاج إلى تمريره إلى دالة تتوقع `Vec<&str>`. حاولت ببساطة تحويل الأنواع، لكن المترجم يشتكي.\n\nإليك الكود الخاص بي:\n\n```rust\nfn process_strings(strings: Vec<&str>) {\n for s in strings {\n println!("{}", s);\n }\n}\n\nfn main() {\n let owned_strings: Vec = vec!["hello".to_string(), "world".to_string()];\n // أحاول تمرير Vec إلى دالة تتوقع Vec<&str>\n process_strings(owned_strings); // خطأ!\n}\n```\n\nالمترجم يعطي خطأ نوع: `expected Vec<&str>, found Vec`. أفهم أن `String` و `&str` هما نوعان مختلفان، لكن كيف يمكنني تحويل متجه إلى آخر؟ حاولت استخدام `.iter().collect`