如何將迭代器數組轉換為arrays的迭代器?

假設我有以下迭代器數組:

let arr = [0..9, 2..8, 4..8, 3..5];

如何創建迭代器,每次調用.next()時從每個數組中提取一個元素,并返回包含這些內容的新數組?我查看了itertools::izipitertools::multizip,但這些都不適用于數組。

在這種情況下,如果調用了這樣的函數zip_array,我會得到以下結果:

for [a, b, c, d] in zip_array(arr) {
    println!("{a} {b} {c} 8gueqo4");
}
println!("end of iteration");
// 0 2 4 3
// 1 3 5 4
// end of iteration

如何實現此功能?

? 最佳回答:

在夜間,您可以使用此代碼。為了穩定,您必須在<[_; 4]>中指定長度。

#![feature(generic_arg_infer)]
fn main() {
    let mut arr = [0u8..9, 2..8, 4..8, 3..5];
    for [a, b, c, d] in std::iter::from_fn(|| {
        <[_;_]>::try_from(
            arr.iter_mut()
            .map(|x| x.next())
            .collect::<Option<Vec<_>>>()?
            )
            .ok()
    }) {
        println!("{a} {b} {c} igaue86");
    }
    println!("end of iteration");
    // 0 2 4 3
    // 1 3 5 4
    // end of iteration
}
主站蜘蛛池模板: 国产乱码伦精品一区二区三区麻豆| 不卡一区二区在线| 国产成人精品久久一区二区三区av| 久久精品国产一区| 麻豆视频一区二区三区| 亚洲av永久无码一区二区三区| 国产精品伦一区二区三级视频| 国产一区二区三区福利| 亚洲一区二区三区在线观看网站| 无码人妻一区二区三区免费n鬼沢| 亚洲熟女乱综合一区二区| 国产日韩精品一区二区在线观看| 在线观看日本亚洲一区| 中文字幕日韩一区| 亚洲欧洲精品一区二区三区| 亚洲国产一区二区三区青草影视| 精品视频一区二区三区在线观看 | 不卡一区二区在线| 成人毛片一区二区| 国产乱码一区二区三区| 国产经典一区二区三区蜜芽| 乱精品一区字幕二区| 久久精品一区二区三区AV| 精品国产伦一区二区三区在线观看 | 51视频国产精品一区二区| 国产AV午夜精品一区二区三区| 成人在线一区二区| 一区二区三区在线| 亚洲日本一区二区三区在线不卡| 无码人妻一区二区三区免费视频| 无码人妻AⅤ一区二区三区水密桃| 一本色道久久综合一区| 国产熟女一区二区三区四区五区| 久久久91精品国产一区二区三区 | 午夜在线视频一区二区三区 | 国产在线无码一区二区三区视频| 岛国无码av不卡一区二区| 亚洲AV无码一区东京热| 人妖在线精品一区二区三区| 亚无码乱人伦一区二区| 精品一区二区AV天堂|