当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Rust Iterator.max用法及代码示例


本文简要介绍rust语言中 std::iter::Iterator.max 的用法。

用法

fn max(self) -> Option<Self::Item> where    Self::Item: Ord,

返回迭代器的最大元素。

如果多个元素的最大值相同,则返回最后一个元素。如果迭代器为空,则返回 None

请注意,由于 NaN 无法比较, f32 / f64 未实现 Ord 。您可以使用 Iterator::reduce 解决此问题:

assert_eq!(
    vec![2.4, f32::NAN, 1.3]
        .into_iter()
        .reduce(f32::max)
        .unwrap(),
    2.4
);

例子

基本用法:

let a = [1, 2, 3];
let b: Vec<u32> = Vec::new();

assert_eq!(a.iter().max(), Some(&3));
assert_eq!(b.iter().max(), None);

相关用法


注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 std::iter::Iterator.max。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。