我有一个要复制的片段。例如,如果xs = [1, 2, 3],并且我需要将其复制4次,则最终会得到ys = [1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3]。
xs = [1, 2, 3]
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。
iter
cycle
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] 删除。
点击生成二维码
我来说两句