向量所有元素的按位运算

问题描述 投票:0回答:1

对于未定义大小的

Vec<u32>
,对它们调用按位(与、或异或等)运算符并返回结果数据的 Rust 方法是什么?

我知道用一个简单的循环是可能的,我正在寻找的是Rust way™

loops rust vector
1个回答
0
投票

您可以使用

Iterator::fold
。例如,按位或,
|
:

pub fn main() {
    let a = vec![1, 2, 4, 8];

    let sum = a.iter().fold(0, |acc, x| acc | x);

    assert_eq!(sum, 15);
}

(示例取自 https://doc.rust-lang.org/std/iter/trait.Iterator.html#examples-38 并进行调整。)

© www.soinside.com 2019 - 2024. All rights reserved.