Avatar ·

Rust में फिक्स्ड साइज़ ऐरे (array) के रूप में स्लाइस (slice) कैसे प्राप्त करें?

नमस्ते! मैंने Rust सीखना शुरू किया है और एक समस्या का सामना किया जो सरल लगती है, लेकिन मुझे कोई सुंदर समाधान नहीं मिल रहा। मेरे पास एक वेक्टर या किसी अन्य ऐरे से एक स्लाइस (slice) है, जैसे `&[u8]`। मुझे इसे फिक्स्ड साइज़ ऐरे (array) में बदलना है, जैसे `[u8; 4]`। दूसरी भाषाओं में मैं बस टाइप कास्ट कर देता या पहले N एलिमेंट ले लेता, लेकिन Rust में टाइप्स के साथ सब कुछ सख्त है। यहाँ एक उदाहरण है जो काम नहीं करता: ```rust fn main() { let data: Vec = vec![1, 2, 3, 4, 5]; let slice: &[u8] = &data[0..4]; // मैं [u8; 4] ऐरे प्राप्त करना चाहता हूँ let array: [u8; 4] = slice; // त्रुटि: expected array `[u8; 4]`, found `&[u8]` } ``` मुझे पता है कि मैं मैन्युअली हर एलिमेंट कॉपी कर सकता हूँ, लेकिन यह बदसूरत लगता है: ```rust let mut array: [u8; 4] = [0; 4]; for (i, &val) in slice.iter().enumerate() { array[i] = val; } ```