如何在Rust中复制切片?

用户名

我有一个要复制的片段。例如,如果xs = [1, 2, 3],并且我需要将其复制4次,则最终会得到ys = [1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3]

在Haskell中,我将执行以下操作:

ys = take (4 * length xs) $ cycle xs

在Rust中如何做类似的事情?

使用创建数组的迭代器iter,然后使用创建无限迭代器cycle,然后使用将其限制为4个周期take

fn main() {
    let xs = [5,7,13];
    let ys = xs.iter()
                .cycle()
                .take(xs.len() * 4);

    for y in ys {
        println!("{}", y);
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章