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