كيفية تحويل Vector إلى HashSet في Rust: دليل كامل
مرحباً بالجميع! بدأت مؤخراً في تعلم Rust وواجهت مشكلة. لدي Vector يحتوي على أرقام، وأريد الحصول على HashSet منه لإزالة التكرارات والتحقق بسرعة من وجود العناصر. في لغات أخرى، مثل Python، يتم ذلك بسطر واحد: `set(my_list)`. أما في Rust فلا أستطيع فهم كيفية القيام بذلك بشكل صحيح.
إليك الكود الخاص بي:
```rust
let numbers = vec![1, 2, 3, 2, 1, 4, 5];
// أريد الحصول على HashSet من هذا الـ Vector
let unique_numbers: HashSet = numbers.???; // ماذا أكتب هنا؟
```
لقد جربت استخدام `numbers.into_iter().collect()`، لكن المترجم اشتكى من أنه لا يستطيع استنتاج النوع. جربت أيضاً تحديد `HashSet::from_iter(numbers)` بشكل صريح، لكنه لم يعمل أيضاً – قال إن الـ trait `FromIterator` غير مطبق. كما سمعت عن طريقة `drain()`، لكنني لست متأكداً.