【问题标题】:How to replicate a slice in Rust?如何在 Rust 中复制切片?
【发布时间】:2017-12-26 00:42:42
【问题描述】:

我有一个想要复制的切片。例如,如果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 中进行类似的操作?

【问题讨论】:

    标签: list rust replicate


    【解决方案1】:

    使用iter 从数组创建一个迭代器,然后使用cycle 创建一个无限重复的迭代器,然后使用take 将其限制为4 个循环。

    fn main() {
        let xs = [5,7,13];
        let ys = xs.iter()
                    .cycle()
                    .take(xs.len() * 4);
    
        for y in ys {
            println!("{}", y);
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2020-11-15
      • 2021-04-23
      • 1970-01-01
      • 1970-01-01
      • 2021-01-12
      • 2016-08-30
      • 1970-01-01
      • 2014-10-15
      • 1970-01-01
      相关资源
      最近更新 更多